Zarządzanie obiektami tuszu w prezentacjach w JavaScript

Wstęp

PowerPoint udostępnia funkcję tuszu, która pozwala rysować niestandardowe kształty, które można wykorzystać do podkreślania innych obiektów, pokazywania połączeń i procesów oraz zwrócenia uwagi na konkretne elementy na slajdzie.

Aspose.Slides dostarcza wszystkie typy Ink (np. klasa Ink), które są potrzebne do tworzenia i zarządzania obiektami tuszu.

Różnice między zwykłymi obiektami a obiektami tuszu

Obiekty na slajdzie PowerPoint są zazwyczaj reprezentowane przez obiekty kształtu. Obiekt kształtu, w najprostszej formie, jest kontenerem definiującym obszar samego obiektu (jego ramkę) oraz jego właściwości. Do nich należą rozmiar obszaru kontenera, kształt kontenera, tło kontenera itp. Więcej informacji znajduje się w Shape Layout Format.

Jednak gdy PowerPoint obsługuje obiekt tuszu, ignoruje wszystkie właściwości ramki obiektu (kontenera) oprócz jego rozmiaru. Rozmiar obszaru kontenera jest określany przez standardowe wartości width i height:

ink_powerpoint1

Ślady Inkshape

Ślad jest podstawowym elementem lub standardem służącym do rejestrowania trajektorii pióra, gdy użytkownik pisze cyfrowym tuszem. Ślady to nagrania opisujące sekwencje połączonych punktów.

Najprostsza forma kodowania określa współrzędne X i Y każdego punktu próbki. Po wyrenderowaniu wszystkich połączonych punktów powstaje obraz podobny do tego:

ink_powerpoint2

Właściwości pędzla do rysowania

Możesz użyć pędzla do rysowania linii łączących punkty elementów śladu. Pędzel ma własny kolor i rozmiar, odpowiadające metodom Brush.setColor i Brush.setSize.

Ustaw kolor pędzla tuszu

Ten kod JavaScript pokazuje, jak ustawić kolor pędzla:

var pres = new aspose.slides.Presentation("pres.pptx");
try {
    var ink = pres.getSlides().get_Item(0).getShapes().get_Item(0);
    var traces = ink.getTraces();
    var brush = traces[0].getBrush();
    var brushColor = brush.getColor();
    brush.setColor(java.getStaticFieldValue("java.awt.Color", "RED"));
} finally {
    if (pres != null) {
        pres.dispose();
    }
}

Ustaw rozmiar pędzla tuszu

Ten kod JavaScript pokazuje, jak ustawić rozmiar pędzla:

var pres = new aspose.slides.Presentation("pres.pptx");
try {
    var ink = pres.getSlides().get_Item(0).getShapes().get_Item(0);
    var traces = ink.getTraces();
    var brush = traces[0].getBrush();
    var brushSize = brush.getSize();
    brush.setSize(java.newInstanceSync("java.awt.Dimension", 5, 10));
} finally {
    if (pres != null) {
        pres.dispose();
    }
}

Zazwyczaj szerokość i wysokość pędzla nie są równe, więc PowerPoint nie wyświetla rozmiaru pędzla (sekcja danych jest przygaszona). Jednak gdy szerokość i wysokość pędzla są równe, PowerPoint wyświetla jego rozmiar w następujący sposób:

ink_powerpoint3

Dla przejrzystości zwiększmy wysokość obiektu tuszu i przyjrzyjmy się ważnym wymiarom:

ink_powerpoint4

Kontener (ramka) nie uwzględnia rozmiaru pędzli – zawsze zakłada, że grubość linii wynosi zero (zobacz ostatni obraz).

Dlatego, aby określić widoczny obszar całego obiektu tuszu, musimy wziąć pod uwagę rozmiar pędzla obiektów śladu. Tutaj docelowy obiekt (ślad odręcznego tekstu) został skalowany do rozmiaru kontenera (ramki). Gdy rozmiar kontenera (ramki) się zmienia, rozmiar pędzla pozostaje stały i odwrotnie.

ink_powerpoint5

PowerPoint wykazuje to samo zachowanie przy obsłudze tekstów:

ink_powerpoint6

Dalsza lektura