Hantera presentationsbläckobjekt i C++
Introduktion
PowerPoint erbjuder bläckfunktionen så att du kan rita icke‑standardfigurer, som kan användas för att markera andra objekt, visa anslutningar och processer samt rikta uppmärksamheten mot specifika element på en bild.
Aspose.Slides tillhandahåller gränssnittet 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 normalt av form‑objekt. Ett form‑objekt, i sin enklaste form, är en behållare som definierar objektets område (dess ram) samt dess egenskaper. Det senare inkluderar storleken på behållarområdet, formens kontur, behållarens bakgrund osv. För information, se Shape Layout Format.
När PowerPoint däremot hanterar ett bläckobjekt ignoreras alla egenskaper för objektets ram (behållare) förutom dess storlek. Storleken på behållarområdet bestäms av de standardiserade width‑ och height‑värdena:

Bläckformsspår
Ett spår är ett grundläggande element eller en standard som används för att spela in en penna‑bana när en användare skriver digitalt bläck. Spår är inspelningar som beskriver sekvenser av anslutna punkter.
Den enklaste kodningsformen specificerar X‑ och Y‑koordinaterna för varje samplingspunkt. När alla anslutna punkter återges bildas en bild som denna:

Penselinställningar för ritning
Du kan använda en pensel för att rita linjer som förbinder spårets elementpunkter. Penseln har sin egen färg och storlek, motsvarande egenskaperna Brush.Color och Brush.Size.
Ställ in bläckpenselfärg
Detta C++‑kodexempel visar hur du ställer in färgen för en pensel:
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());
Ställ in bläckpenselstorlek
Detta C++‑kodexempel visar hur du ställer in storleken för en pensel:
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));
I allmänhet matchar inte en pensels bredd och höjd, så PowerPoint visar inte penselns storlek (datasektionen är gråtonad). När penselns bredd och höjd däremot matchar visar PowerPoint dess storlek så här:

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

Behållaren (ramen) tar inte hänsyn till penslarnas storlek – den antar alltid att linjens tjocklek är noll (se den sista bilden).
För att bestämma det synliga området för hela bläckobjektet måste vi beakta 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 penselstorleken konstant och vice versa.

PowerPoint uppvisar samma beteende när det gäller texter:

Vidare läsning
- För att läsa om former i allmänhet, se avsnittet PowerPoint Shapes.
- För mer information om effektiva värden, se Shape Effective Properties.