# Управление объектами Ink презентации в PHP

> Управляйте объектами Ink в PowerPoint — создавайте, редактируйте и оформляйте цифровые чернила с помощью Aspose.Slides для PHP через Java. Получите примеры кода для трасс, цвета и размера кисти.

Source: https://docs.aspose.com/slides/ru/php-java/manage-ink/
Updated: 2025-12-23


PowerPoint предоставляет функцию распознавания вводимых линий, позволяющую рисовать нестандартные фигуры, которые можно использовать для выделения других объектов, отображения соединений и процессов, а также привлечения внимания к конкретным элементам на слайде. 

Aspose.Slides предоставляет все типы Ink (например, класс [Ink](https://reference.aspose.com/slides/php-java/aspose.slides/ink/)), необходимые для создания и управления объектами ввода.

## **Различия между обычными объектами и объектами Ink**

Объекты на слайде PowerPoint обычно представлены объектами shape. Объект shape в своей простейшей форме представляет собой контейнер, определяющий область самого объекта (его рамку) вместе со свойствами. К последним относятся размер контейнера, форма контейнера, фон контейнера и т.д. Для получения информации см. [Shape Layout Format](https://docs.aspose.com/slides/php-java/shape-manipulations/#access-layout-formats-for-shape).

Однако, когда PowerPoint работает с объектом ink, он игнорирует все свойства рамки объекта (контейнера), кроме его размера. Размер области контейнера определяется стандартными значениями `width` и `height`:

![ink_powerpoint1](ink_powerpoint1.png)

## **Трассы Inkshape**

Трасса — это базовый элемент или стандарт, используемый для записи траектории пера, когда пользователь пишет цифровыми чернилами. Трассы представляют собой записи, описывающие последовательности соединенных точек. 

Самая простая форма кодирования указывает координаты X и Y каждой точки выборки. При отрисовке всех соединенных точек получаем изображение, подобное этому:

![ink_powerpoint2](ink_powerpoint2.png)

## **Свойства кисти для рисования**

Можно использовать кисть для рисования линий, соединяющих точки элементов трассы. Кисть имеет собственный цвет и размер, соответствующие свойствам `Brush.Color` и `Brush.Size`. 

### **Установка цвета кисти Ink**

Этот PHP‑код показывает, как задать цвет для кисти:
```php
  $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();
    }
  }
```


### **Установка размера кисти Ink** 

Этот PHP‑код показывает, как задать размер для кисти:
```php
  $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();
    }
  }
```


Обычно ширина и высота кисти не совпадают, поэтому PowerPoint не отображает размер кисти (раздел данных затемнён). Но когда ширина и высота кисти совпадают, PowerPoint отображает её размер так:

![ink_powerpoint3](ink_powerpoint3.png)

Для наглядности увеличим высоту объекта ink и рассмотрим важные размеры: 

![ink_powerpoint4](ink_powerpoint4.png)

Контейнер (рамка) не учитывает размер кистей — он всегда предполагает, что толщина линии равна нулю (см. последнее изображение). 

Следовательно, чтобы определить видимую область всего объекта ink, необходимо учитывать размер кисти у объектов трассы. Здесь целевой объект (объект трассы рукописного текста) масштабирован до размера контейнера (рамки). При изменении размера контейнера (рамки) размер кисти остаётся постоянным, и наоборот. 

![ink_powerpoint5](ink_powerpoint5.png)

PowerPoint проявляет такое же поведение при работе с текстом:

![ink_powerpoint6](ink_powerpoint6.png)

**Дополнительные материалы**

* Чтобы прочитать о фигурах в целом, см. раздел [PowerPoint Shapes](https://docs.aspose.com/slides/php-java/powerpoint-shapes/).
* Для получения дополнительной информации о эффективных значениях см. [Shape Effective Properties](https://docs.aspose.com/slides/php-java/shape-effective-properties/#getting-effective-font-height-value).
