Zrządzanie obiektami atramentu w prezentacji w PHP

Wprowadzenie

PowerPoint udostępnia funkcję atramentu, aby umożliwić rysowanie niestandardowych kształtów, które można wykorzystać do wyróżniania innych obiektów, pokazywania połączeń i procesów oraz przyciągania uwagi do konkretnych elementów na slajdzie.

Aspose.Slides udostępnia wszystkie typy Ink (np. klasa Ink ), które są potrzebne do tworzenia i zarządzania obiektami atramentu.

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

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ę) wraz z jego właściwościami. Ostatnie obejmuje rozmiar obszaru kontenera, kształt kontenera, tło kontenera itp. Więcej informacji znajdziesz w Shape Layout Format.

Jednakże, gdy PowerPoint obsługuje obiekt atramentu, ignoruje wszystkie właściwości ramki obiektu (kontenera) poza jego rozmiarem. Rozmiar obszaru kontenera jest określany przez standardowe wartości width i height:

ink_powerpoint1

Ślady Inkshape

Ślad jest podstawowym elementem lub standardem używanym do rejestrowania trajektorii pióra, gdy użytkownik pisze atramentem cyfrowym. Ślady to zapisy opisujące ciągi połączonych punktów.

Najprostsza forma kodowania określa współrzędne X i Y każdego punktu próbki. Gdy wszystkie połączone punkty zostaną wyrenderowane, tworzą 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 właściwościom Brush.Color i Brush.Size.

Ustaw kolor pędzla atramentu

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

  $pres = new Presentation("pres.pptx");
  try {
    $ink = $pres->getSlides()->get_Item(0)->getShapes()->get_Item(0);
    $traces = $ink->getTraces();
    $brush = $traces[0]->getBrush();
    $brushColor = $brush->getColor();
    $brush->setColor(java("java.awt.Color")->RED);
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

Ustaw rozmiar pędzla atramentu

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

  $pres = new Presentation("pres.pptx");
  try {
    $ink = $pres->getSlides()->get_Item(0)->getShapes()->get_Item(0);
    $traces = $ink->getTraces();
    $brush = $traces[0]->getBrush();
    $brushSize = $brush->getSize();
    $brush->setSize(new Java("java.awt.Dimension", 5, 10));
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

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

ink_powerpoint3

Dla jasności zwiększmy wysokość obiektu atramentu 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 atramentu, musimy uwzględnić rozmiar pędzla obiektów śladu. Tutaj docelowy obiekt (obiekt śladu ręcznie pisanego tekstu) został przeskalowany do rozmiaru kontenera (ramki). Gdy rozmiar kontenera (ramki) się zmienia, rozmiar pędzla pozostaje stały i odwrotnie.

ink_powerpoint5

PowerPoint zachowuje się tak samo przy obsłudze tekstów:

ink_powerpoint6

Dalsza lektura