PowerPoint tintaobjektumok kezelése C++-ban
Bevezetés
A PowerPoint biztosítja a tinta funkciót, amely lehetővé teszi nem szabványos alakzatok rajzolását; ezeket fel lehet használni más objektumok kiemelésére, kapcsolatok és folyamatok megjelenítésére, valamint a dián lévő konkrét elemek figyelemfelkeltésére.
Az Aspose.Slides a Aspose.Slides.Ink felületet kínálja, amely tartalmazza a tintaobjektumok létrehozásához és kezeléséhez szükséges típusokat.
A szabályos objektumok és a tintaobjektok közötti különbségek
A PowerPoint dián lévő objektumok általában shape objektumokként jelennek meg. Egy shape objektum legegyszerűbben egy tároló, amely meghatározza az objektum (keret) területét, valamint a tulajdonságait. Ezek közé tartozik a tároló területének mérete, a tároló alakja, a háttér stb. További információért lásd a Alakzat elrendezési formátum oldalt.
Azonban amikor a PowerPoint tintaobjektummal dolgozik, figyelmen kívül hagyja a keret (tároló) minden tulajdonságát, kivéve a méretét. A tároló területének méretét a szabványos width és height értékek határozzák meg:

Tintaalakú nyomvonalak
A nyomvonal egy alapvető elem vagy szabvány, amely a toll trajektóriáját rögzíti, amikor a felhasználó digitális tintát ír. A nyomvonalak felvételi adatként leírják az összekapcsolt pontok sorozatát.
A legegyszerűbb kódolási forma minden mintapont X és Y koordinátáit adja meg. Amikor az összes összekapcsolt pont megjelenik, az alábbi képet eredményezi:

Ecset tulajdonságai a rajzoláshoz
Az ecsetet használhatja vonalak rajzolására, amelyek összekötik a nyomvonal elemek pontjait. Az ecsetnek saját színe és mérete van, amely a Brush.Color és Brush.Size tulajdonságoknak felel meg.
Tinta Ecset Szín beállítása
Ez a C++ kód megmutatja, hogyan állítható be egy ecset színe:
System::SharedPtr<Presentation> pres = System::MakeObject<Presentation>(u"pres.pptx");
System::SharedPtr<IInk> ink = System::ExplicitCast<IInk>(pres->get_Slide(0)->get_Shape(0));
System::ArrayPtr<System::SharedPtr<IInkTrace>> traces = ink->get_Traces();
System::SharedPtr<IInkBrush> brush = traces[0]->get_Brush();
System::Drawing::Color brushColor = brush->get_Color();
brush->set_Color(System::Drawing::Color::get_Red());
Tinta Ecset Méret beállítása
Ez a C++ kód megmutatja, hogyan állítható be egy ecset mérete:
System::SharedPtr<Presentation> pres = System::MakeObject<Presentation>(u"pres.pptx");
System::SharedPtr<IInk> ink = System::ExplicitCast<IInk>(pres->get_Slide(0)->get_Shape(0));
System::ArrayPtr<System::SharedPtr<IInkTrace>> traces = ink->get_Traces();
System::SharedPtr<IInkBrush> brush = traces[0]->get_Brush();
System::Drawing::SizeF brushSize = brush->get_Size();
brush->set_Size(System::Drawing::SizeF(5.0f, 10.0f));
Általában az ecset szélessége és magassága nem egyezik meg, ezért a PowerPoint nem jeleníti meg az ecset méretét (az adatmező szürke). Ha azonban az ecset szélessége és magassága megegyezik, a PowerPoint a következő módon mutatja a méretet:

Az átláthatóság kedvéért növeljük meg a tintaobjektum magasságát, és tekintsük át a fontos dimenziókat:

A tároló (keret) nem veszi figyelembe az ecsetek méretét – mindig úgy veszi, mintha a vonal vastagsága nulla lenne (lásd az utolsó képet).
Ezért a teljes tintaobjektum látható területének meghatározásához figyelembe kell venni a nyomvonal objektumok ecsetméretét. Itt a célobjektum (a kézírott szöveg nyomvonalobjektuma) a tároló (keret) méretéhez lett méretezve. Amikor a tároló (keret) mérete változik, az ecsetméret állandó marad, és fordítva.

A PowerPoint ugyanígy viselkedik a szövegekkel is:

További olvasnivaló
- A shape-kről általánosságban a PowerPoint Shapes szakaszban olvashat.
- A hatékony értékekkel kapcsolatos további információkért lásd a Shape Effective Properties oldalt.