Hantera bläckobjekt i presentationer med Python

Introduktion

PowerPoint tillhandahåller bläckfunktionen som låter dig rita icke-standardfigurer, vilka kan användas för att markera andra objekt, visa samband och processer samt rikta uppmärksamheten mot specifika element på en bild.

Aspose.Slides tillhandahåller namnrymden aspose.slides.ink, som innehåller de typer du behöver för att skapa och hantera bläckobjekt.

Skillnader mellan vanliga objekt och bläckobjekt

Objekt på en PowerPoint‑bild representeras vanligtvis av formobjekt. Ett formobjekt, i sin enklaste form, är en behållare som definierar objektets område (dess ram) tillsammans med dess egenskaper. Detta inkluderar behållarens storlek, behållarens form, behållarens bakgrund osv. För information, se Formlayoutformat.

När PowerPoint däremot hanterar ett bläckobjekt ignorerar det alla egenskaper för objektets ram (behållare) förutom dess storlek. Storleken på behållarområdet bestäms av de standard width och height värdena:

ink_powerpoint1

Bläckformsspår

Ett spår är ett grundelement eller en standard som används för att registrera en pensels bana när en användare skriver digitalt bläck. Spår är inspelningar som beskriver sekvenser av sammanhängande punkter.

Den enklaste formen av kodning specificerar X- och Y-koordinaterna för varje sampelpunk​t. När alla sammankopplade punkter renderas bildas en bild som denna:

ink_powerpoint2

Pensel‑egenskaper för ritning

Du kan använda en pensel för att rita linjer som förbinder spårelementens punkter. Penseln har sin egen färg och storlek, vilket motsvarar egenskaperna Brush.color och Brush.size.

Ange bläckpenselfärg

Denna Python‑kod visar hur du anger färgen för en pensel:

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

Ange bläckpenselstorlek

Denna Python‑kod visar hur du anger storleken för en pensel:

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)

Generellt matchar en pensels bredd och höjd inte, så PowerPoint visar inte penselns storlek (datasektionen är gråtonad). Men när penselns bredd och höjd matchar visar PowerPoint dess storlek så här:

ink_powerpoint3

För tydlighetens skull, låt oss öka höjden på bläckobjektet och granska de viktiga dimensionerna:

ink_powerpoint4

Behållaren (ramen) tar inte hänsyn till penselns storlek – den antar alltid att linjens tjocklek är noll (se den sista bilden).

Därför måste vi för att bestämma det synliga området för hela bläckobjektet ta hänsyn till spårobjektens penselstorlek. Här har målobjektet (spårobjektet för handskriven text) skalats till behållarens (ramens) storlek. När behållarens (ramens) storlek ändras förblir penselns storlek konstant och vice versa.

ink_powerpoint5

PowerPoint visar samma beteende när det hanterar text:

ink_powerpoint6

Vidare läsning