# SmartArt

> 在 Aspose.Slides for C++ 中使用 SmartArt：使用 C++ 建立、編輯、轉換及樣式化 PowerPoint 與 OpenDocument 簡報的圖表。

Source: https://docs.aspose.com/slides/zh-hant/cpp/examples/elements/smart-art/


本文示範如何使用 **Aspose.Slides for C++** 新增 SmartArt 圖形、存取它們、移除它們，以及變更版面配置。

## **新增 SmartArt**

使用內建版面配置之一插入 SmartArt 圖形。

```cpp
static void AddSmartArt()
{
    auto presentation = MakeObject<Presentation>();
    auto slide = presentation->get_Slide(0);

    auto smartArt = slide->get_Shapes()->AddSmartArt(50, 50, 400, 300, SmartArtLayoutType::BasicProcess);

    presentation->Dispose();
}
```

## **存取 SmartArt**

取得投影片上的第一個 SmartArt 物件。

```cpp
static void AccessSmartArt()
{
    auto presentation = MakeObject<Presentation>();
    auto slide = presentation->get_Slide(0);

    auto smartArt = slide->get_Shapes()->AddSmartArt(50, 50, 400, 300, SmartArtLayoutType::BasicProcess);

    auto firstSmartArt = SharedPtr<ISmartArt>();
    for (auto&& shape : slide->get_Shapes())
    {
        if (ObjectExt::Is<ISmartArt>(shape))
        {
            firstSmartArt = ExplicitCast<ISmartArt>(shape);
            break;
        }
    }

    presentation->Dispose();
}
```

## **移除 SmartArt**

從投影片中刪除 SmartArt 形狀。

```cpp
static void RemoveSmartArt()
{
    auto presentation = MakeObject<Presentation>();
    auto slide = presentation->get_Slide(0);

    auto smartArt = slide->get_Shapes()->AddSmartArt(50, 50, 400, 300, SmartArtLayoutType::BasicProcess);

    slide->get_Shapes()->Remove(smartArt);

    presentation->Dispose();
}
```

## **變更 SmartArt 版面配置**

更新現有 SmartArt 圖形的版面配置類型。

```cpp
static void ChangeSmartArtLayout()
{
    auto presentation = MakeObject<Presentation>();
    auto slide = presentation->get_Slide(0);

    auto smartArt = slide->get_Shapes()->AddSmartArt(50, 50, 400, 300, SmartArtLayoutType::BasicBlockList);
    smartArt->set_Layout(SmartArtLayoutType::VerticalPictureList);

    presentation->Dispose();
}
```
