Správa uzlů tvaru SmartArt v prezentacích pomocí C++
Přehled
Grafika SmartArt v prezentacích PowerPoint je organizována pomocí uzlů, které obsahují text a definují strukturu diagramu. Aspose.Slides vám umožňuje pracovat s těmito uzly SmartArt programově: přidávat nové uzly a poduzly, vkládat poduzly na konkrétní pozici, přistupovat k existujícím uzlům a číst jejich text, úroveň a pozici.
Tento článek vysvětluje, jak spravovat uzly tvarů SmartArt. Ukazuje, jak odstranit uzly, pracovat s poduzly podle indexu nebo pozice, změnit asistenční uzel na běžný uzel, upravit pozici, velikost a rotaci tvarů uzlu SmartArt, nastavit formáty výplně uzlu a vygenerovat miniaturu obrázku pro poduzel SmartArt.
Přidat uzel SmartArt
Aspose.Slides pro C++ poskytuje nejjednodušší API pro správu tvarů SmartArt nejjednodušším způsobem. Následující ukázkový kód pomůže přidat uzel a poduzel do tvaru SmartArt.
- Vytvořte instanci třídy Presentation a načtěte prezentaci se SmartArt tvarem.
- Získejte odkaz na první snímek pomocí jeho Indexu.
- Projděte všechny tvary v prvním snímku.
- Zkontrolujte, zda je tvar typu SmartArt, a přetypujte vybraný tvar na SmartArt, pokud je SmartArt.
- Přidejte nový uzel do kolekce NodeCollection tvaru SmartArt a nastavte text v TextFrame.
- Nyní přidejte poduzel do nově přidaného uzlu SmartArt a nastavte text v TextFrame.
- Uložte prezentaci.
Přidat uzel SmartArt na konkrétní pozici
V následujícím ukázkovém kódu vysvětlujeme, jak přidat poduzly patřící k jednotlivým uzlům tvaru SmartArt na konkrétní pozici.
- Vytvořte instanci třídy
Presentation. - Získejte odkaz na první snímek pomocí jeho Indexu.
- Přidejte tvar SmartArt typu StackedList do získaného snímku.
- Získejte první uzel v přidaném tvaru SmartArt.
- Nyní přidejte poduzel pro vybraný uzel na pozici 2 a nastavte jeho text.
- Uložte prezentaci.
Přístup k uzlu SmartArt
Následující ukázkový kód pomůže přistupovat k uzlům uvnitř tvaru SmartArt. Všimněte si, že nemůžete změnit LayoutType SmartArt, protože je pouze pro čtení a je nastaven pouze při přidání tvaru SmartArt.
- Vytvořte instanci třídy
Presentationa načtěte prezentaci se SmartArt tvarem. - Získejte odkaz na první snímek pomocí jeho Indexu.
- Projděte všechny tvary v prvním snímku.
- Zkontrolujte, zda je tvar typu SmartArt, a přetypujte vybraný tvar na SmartArt, pokud je SmartArt.
- Projděte všechny uzly uvnitř tvaru SmartArt.
- Získejte a zobrazte informace, jako je pozice uzlu SmartArt, úroveň a text.
Přístup k poduzlu SmartArt
Následující ukázkový kód pomůže přistupovat k poduzlům patřícím k jednotlivým uzlům tvaru SmartArt.
- Vytvořte instanci třídy PresentationEx a načtěte prezentaci se SmartArt tvarem.
- Získejte odkaz na první snímek pomocí jeho Indexu.
- Projděte všechny tvary v prvním snímku.
- Zkontrolujte, zda je tvar typu SmartArt, a přetypujte vybraný tvar na SmartArtEx, pokud je SmartArt.
- Projděte všechny uzly uvnitř tvaru SmartArt.
- Pro každý vybraný uzel tvaru SmartArt projděte všechny poduzly v daném uzlu.
- Získejte a zobrazte informace, jako je pozice poduzlu, úroveň a text.
Přístup k poduzlu SmartArt na konkrétní pozici
V tomto příkladu se naučíme přistupovat k poduzlům na konkrétní pozici, které patří k jednotlivým uzlům tvaru SmartArt.
- Vytvořte instanci třídy
Presentation. - Získejte odkaz na první snímek pomocí jeho Indexu.
- Přidejte tvar SmartArt typu StackedList.
- Získejte přidaný tvar SmartArt.
- Získejte uzel s indexem 0 pro získaný tvar SmartArt.
- Nyní přistupte k poduzlu na pozici 1 pro získaný uzel SmartArt pomocí metody GetNodeByPosition().
- Získejte a zobrazte informace, jako je pozice poduzlu, úroveň a text.
Odstranit uzel SmartArt
V tomto příkladu se naučíme odstranit uzly uvnitř tvaru SmartArt.
- Vytvořte instanci třídy
Presentationa načtěte prezentaci se SmartArt tvarem. - Získejte odkaz na první snímek pomocí jeho Indexu.
- Projděte všechny tvary v prvním snímku.
- Zkontrolujte, zda je tvar typu SmartArt, a přetypujte vybraný tvar na SmartArt, pokud je SmartArt.
- Zkontrolujte, zda má SmartArt více než 0 uzlů.
- Vyberte uzel SmartArt, který má být odstraněn.
- Nyní odstraňte vybraný uzel pomocí metody RemoveNode()* Uložte prezentaci.
Odstranit uzel SmartArt na konkrétní pozici
V tomto příkladu se naučíme odstranit uzly uvnitř tvaru SmartArt na konkrétní pozici.
- Vytvořte instanci třídy
Presentationa načtěte prezentaci se SmartArt tvarem. - Získejte odkaz na první snímek pomocí jeho Indexu.
- Projděte všechny tvary v prvním snímku.
- Zkontrolujte, zda je tvar typu SmartArt, a přetypujte vybraný tvar na SmartArt, pokud je SmartArt.
- Vyberte uzel tvaru SmartArt s indexem 0.
- Nyní zkontrolujte, zda vybraný uzel SmartArt má více než 2 poduzly.
- Nyní odstraňte uzel na pozici 1 pomocí metody RemoveNodeByPosition().
- Uložte prezentaci.
Nastavit vlastní pozici pro poduzel SmartArt
Nyní Aspose.Slides podporuje nastavení vlastností X a Y pro SmartArtShape. Níže uvedený úryvek kódu ukazuje, jak nastavit vlastní pozici, velikost a rotaci SmartArtShape; také je třeba poznamenat, že přidání nových uzlů způsobí přepočet pozic a velikostí všech uzlů.
Zkontrolovat asistenční uzel
V následujícím ukázkovém kódu prozkoumáme, jak identifikovat asistenční uzly ve sbírce uzlů SmartArt a jak je změnit.
- Vytvořte instanci třídy PresentationEx a načtěte prezentaci se SmartArt tvarem.
- Získejte odkaz na druhý snímek pomocí jeho Indexu.
- Projděte všechny tvary v prvním snímku.
- Zkontrolujte, zda je tvar typu SmartArt, a přetypujte vybraný tvar na SmartArtEx, pokud je SmartArt.
- Projděte všechny uzly uvnitř tvaru SmartArt a zkontrolujte, zda jsou asistenční uzly.
- Změňte stav asistenčního uzlu na normální uzel.
- Uložte prezentaci.
Nastavit výplňový formát uzlu
Aspose.Slides pro C++ umožňuje přidávat vlastní tvary SmartArt a nastavit jejich výplňové formáty. Tento článek vysvětluje, jak vytvořit a přistupovat k tvarům SmartArt a nastavit jejich výplňový formát pomocí Aspose.Slides pro C++.
Postupujte podle následujících kroků:
- Vytvořte instanci třídy
Presentation. - Získejte odkaz na snímek pomocí jeho indexu.
- Přidejte tvar SmartArt nastavením jeho LayoutType.
- Nastavte FillFormat pro uzly tvaru SmartArt.
- Uložte upravenou prezentaci jako soubor PPTX.
Vytvořit miniaturu poduzlu SmartArt
Vývojáři mohou vygenerovat miniaturu poduzlu SmartArt následujícím postupem:
- Vytvořte instanci třídy
Presentation, která představuje soubor PPTX. - Přidejte SmartArt.
- Získejte odkaz na uzel pomocí jeho Indexu.
- Získejte obrázek miniatury.
- Uložte obrázek miniatury v libovolném požadovaném formátu obrázku.
Níže uvedený příklad generuje miniaturu poduzlu SmartArt
auto presentation = MakeObject<Presentation>();
auto slide = presentation->get_Slide(0);
auto smartArt = slide->get_Shapes()->AddSmartArt(10, 10, 400, 300, SmartArtLayoutType::BasicCycle);
auto node = smartArt->get_Node(1);
auto image = node->get_Shape(0)->GetImage();
image->Save(u"SmartArt_ChildNote_Thumbnail_out.jpeg", ImageFormat::Png);
image->Dispose();
presentation->Dispose();
Často kladené otázky
Je animace SmartArt podporována?
Ano. SmartArt je považován za běžný tvar, takže můžete použít standardní animace (vstupní, výstupní, zdůrazňovací, trajektorie pohybu) a upravit časování. V případě potřeby můžete animovat i tvary uvnitř uzlů SmartArt.
Jak mohu spolehlivě najít konkrétní SmartArt na snímku, pokud je jeho interní ID neznámé?
Přiřaďte a vyhledejte pomocí alternativního textu. Nastavení výrazného AltTextu na SmartArt vám umožní najít jej programově bez spoléhání se na interní identifikátory.
Zůstane vzhled SmartArt zachován při konverzi prezentace do PDF?
Ano. Aspose.Slides vykresluje SmartArt s vysokou vizuální věrností během exportu do PDF, zachovává rozvržení, barvy a efekty.
Mohu extrahovat obrázek celého SmartArt (pro náhledy nebo zprávy)?
Ano. Můžete vykreslit tvar SmartArt do rastrých formátů nebo do SVG pro škálovatelný vektorový výstup, což je vhodné pro miniatury, zprávy nebo webové použití.