Správa ink objektů v prezentaci v Javě

Úvod

PowerPoint poskytuje ink funkci, která vám umožňuje kreslit nestandardní tvary, jež lze použít k zvýraznění dalších objektů, zobrazení spojení a procesů a upoutání pozornosti na konkrétní položky na snímku.

Aspose.Slides poskytuje všechny typy Ink (např. Ink třída), které potřebujete k vytvoření a správě ink objektů.

Rozdíly mezi běžnými objekty a objekty Ink

Objekty na snímku PowerPointu jsou obvykle reprezentovány objekty tvaru. Objekt tvaru je ve své nejjednodušší formě kontejner, který definuje oblast samotného objektu (jeho rámeček) spolu s jeho vlastnostmi. Poslední zahrnují velikost oblasti kontejneru, tvar kontejneru, pozadí kontejneru atd. Pro další informace viz Shape Layout Format.

Když však PowerPoint pracuje s ink objektem, ignoruje všechny vlastnosti rámce objektu (kontejneru) kromě jeho velikosti. Velikost oblasti kontejneru je určena standardními hodnotami width a height:

ink_powerpoint1

Inkshape stopy

Stopa je základní prvek nebo standard používaný k zaznamenání trajektorie pera, když uživatel zapisuje digitální ink. Stopy jsou záznamy popisující sekvence spojených bodů.

Nejjednodušší forma kódování určuje souřadnice X a Y každého vzorkovacího bodu. Když jsou všechny spojené body vykresleny, vytvoří se obrázek jako tento:

ink_powerpoint2

Vlastnosti štětce pro kreslení

Můžete použít štětec k nakreslení čar spojujících body prvků stopy. Štětec má vlastní barvu a velikost, odpovídající vlastnostem Brush.Color a Brush.Size.

Nastavit barvu štětce Ink

Tento Java kód ukazuje, jak nastavit barvu pro štětec:

Presentation pres = new Presentation("pres.pptx");
try {
    IInk ink = (IInk)pres.getSlides().get_Item(0).getShapes().get_Item(0);
    IInkTrace[] traces = ink.getTraces();
    IInkBrush brush = traces[0].getBrush();
    Color brushColor = brush.getColor();
    brush.setColor(Color.RED);
} finally {
    if (pres != null) pres.dispose();
}

Nastavit velikost štětce Ink

Tento Java kód ukazuje, jak nastavit velikost pro štětec:

Presentation pres = new Presentation("pres.pptx");
try {
    IInk ink = (IInk)pres.getSlides().get_Item(0).getShapes().get_Item(0);
    IInkTrace[] traces = ink.getTraces();
    IInkBrush brush = traces[0].getBrush();
    Dimension2D brushSize = brush.getSize();
    brush.setSize(new Dimension(5, 10));
} finally {
    if (pres != null) pres.dispose();
}

Obecně šířka a výška štětce nejsou shodné, takže PowerPoint nezobrazuje velikost štětce (sekce dat je šedá). Když jsou šířka a výška štětce shodné, PowerPoint zobrazí jeho velikost takto:

ink_powerpoint3

Pro přehlednost zvýšíme výšku ink objektu a podíváme se na důležité rozměry:

ink_powerpoint4

Kontejner (rámec) nezohledňuje velikost štětců – vždy předpokládá, že tloušťka čáry je nulová (viz poslední obrázek).

Proto musíme pro určení viditelné oblasti celého ink objektu zohlednit velikost štětce objektů stopy. Zde byl cílový objekt (objekt stopy ručně psaného textu) změněn na velikost kontejneru (rámce). Když se změní velikost kontejneru (rámce), velikost štětce zůstává konstantní a naopak.

ink_powerpoint5

PowerPoint vykazuje stejné chování při práci s texty:

ink_powerpoint6

Další čtení