Verwalten von Präsentations-Tintenobjekten unter Android

PowerPoint stellt die Tintenfunktion bereit, mit der Sie nicht‑standardmäßige Figuren zeichnen können, die verwendet werden, um andere Objekte hervorzuheben, Verbindungen und Prozesse zu zeigen und die Aufmerksamkeit auf bestimmte Elemente einer Folie zu lenken.

Aspose.Slides bietet alle Ink‑Typen (z. B. die Klasse Ink ), die Sie zum Erstellen und Verwalten von Tintenobjekten benötigen.

Unterschiede zwischen regulären Objekten und Tintenobjekten

Objekte auf einer PowerPoint‑Folie werden typischerweise durch Shape‑Objekte dargestellt. Ein Shape‑Objekt ist in seiner einfachsten Form ein Container, der den Bereich des eigentlichen Objekts (sein Rahmen) zusammen mit seinen Eigenschaften definiert. Letztere umfassen die Größe des Container‑Bereichs, die Form des Containers, den Hintergrund des Containers usw. Weitere Informationen finden Sie unter Shape Layout Format.

Allerdings ignoriert PowerPoint, wenn es mit einem Tintenobjekt arbeitet, alle Eigenschaften des Objekt‑rahmens (Containers) mit Ausnahme seiner Größe. Die Größe des Container‑Bereichs wird durch die Standardwerte width und height bestimmt:

ink_powerpoint1

Inkshape‑Spuren

Eine Trace ist ein Basiselement bzw. ein Standard, der die Bahn eines Stifts aufzeichnet, während ein Benutzer digitale Tinte schreibt. Traces sind Aufzeichnungen, die Sequenzen miteinander verbundener Punkte beschreiben.

Die einfachste Form der Kodierung gibt die X‑ und Y‑Koordinaten jedes Abtastpunkts an. Wenn alle verbundenen Punkte gerendert werden, entsteht ein Bild wie dieses:

ink_powerpoint2

Pinsel‑Eigenschaften zum Zeichnen

Sie können einen Pinsel verwenden, um Linien zu zeichnen, die die Punkte von Trace‑Elementen verbinden. Der Pinsel hat eine eigene Farbe und Größe, die den Eigenschaften Brush.Color und Brush.Size entsprechen.

Ink‑Pinselfarbe festlegen

Dieser Java‑Code zeigt Ihnen, wie Sie die Farbe für einen Pinsel festlegen:

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();
}

Ink‑Pinselgröße festlegen

Dieser Java‑Code zeigt Ihnen, wie Sie die Größe für einen Pinsel festlegen:

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();
}

Im Allgemeinen stimmen Breite und Höhe eines Pinsels nicht überein, sodass PowerPoint die Pinselgröße nicht anzeigt (der Datenbereich ist ausgegraut). Stimmen Breite und Höhe jedoch überein, zeigt PowerPoint die Größe wie folgt an:

ink_powerpoint3

Zur Veranschaulichung erhöhen wir die Höhe des Tintenobjekts und prüfen die wichtigen Abmessungen:

ink_powerpoint4

Der Container (Rahmen) berücksichtigt die Größe der Pinsel nicht – er geht immer davon aus, dass die Linienstärke null ist (siehe das letzte Bild).

Um also den sichtbaren Bereich des gesamten Tintenobjekts zu bestimmen, müssen wir die Pinselgröße der Trace‑Objekte berücksichtigen. Hier wurde das Zielobjekt (das Trace‑Objekt für handschriftlichen Text) auf die Größe des Containers (Rahmens) skaliert. Ändert sich die Größe des Containers (Rahmens), bleibt die Pinselgröße konstant und umgekehrt.

ink_powerpoint5

PowerPoint zeigt dasselbe Verhalten bei Texten:

ink_powerpoint6

Weiterführende Lektüre