Správa ink objektů v prezentacích s Pythonem

Úvod

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

Aspose.Slides poskytuje aspose.slides.ink jmenný prostor, který obsahuje typy potřebné k vytváření a správě ink objektů.

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

Objekty na snímku PowerPointu jsou typicky reprezentovány objekty tvaru. Objekt tvaru v nejjednodušší podobě představuje kontejner, který definuje oblast samotného objektu (jeho rámec) spolu s jeho vlastnostmi. Poslední zahrnují velikost oblasti kontejneru, tvar kontejneru, pozadí kontejneru atd. Pro informace viz Shape Layout Format.

Nicméně když 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 píše digitální ink. Stopy jsou záznamy popisující sekvence propojených bodů.

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

ink_powerpoint2

Vlastnosti štětce pro kreslení

Pro kreslení čar spojujících body elementů stopy můžete použít štětec. Štětec má svou vlastní barvu a velikost, odpovídající vlastnostem Brush.color a Brush.size.

Nastavení barvy ink štětce

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

import aspose.slides as slides
import aspose.pydrawing as draw

with slides.Presentation("pres.pptx") as pres:
    ink = pres.slides[0].shapes[0]
    traces = ink.traces
    brush = traces[0].brush
    brush_color = brush.color
    brush.color = draw.Color.red

Nastavení velikosti ink štětce

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

import aspose.slides as slides
import aspose.pydrawing as draw

with slides.Presentation("pres.pptx") as pres:
    ink = pres.slides[0].shapes[0]
    traces = ink.traces
    brush = traces[0].brush
    brush_size = brush.size
    brush.size = draw.SizeF(5.0, 10.0)

Obecně šířka a výška štětce nemusí součinit, takže PowerPoint nezobrazuje velikost štětce (datová část je šedá). Když se šířka a výška štětce rovnají, 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) nebere v úvahu velikost štětců — vždy předpokládá, že tloušťka čáry je nulová (viz poslední obrázek).

Proto pro určení viditelné oblasti celého ink objektu musíme zohlednit velikost štětce objektů stopy. Zde byl cílový objekt (stopa ručně psaného textu) měněn na velikost kontejneru (rámečku). Když se změní velikost kontejneru (rámečku), 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í