Управление объектами чернил в презентациях с помощью Python
PowerPoint предоставляет функцию чернил, позволяющую рисовать нестандартные фигуры, которые можно использовать для выделения других объектов, показа соединений и процессов, а также привлечения внимания к конкретным элементам на слайде.
Aspose.Slides предоставляет пространство имен aspose.slides.ink, которое содержит типы, необходимые для создания и управления объектами чернил.
Различия между обычными объектами и объектами чернил
Объекты на слайде PowerPoint обычно представлены объектами shape. Объект shape в своей простейшей форме представляет собой контейнер, определяющий область самого объекта (его кадр) вместе со свойствами. Последние включают размер области контейнера, форму контейнера, фон контейнера и т.д. Для справки см. Формат макета формы.
Однако когда PowerPoint работает с объектом чернил, он игнорирует все свойства кадра объекта (контейнера), кроме его размера. Размер области контейнера определяется стандартными значениями width и height:

Трассы Inkshape
Трасса — базовый элемент или стандарт, используемый для записи траектории пера, когда пользователь пишет цифровыми чернилами. Трассы представляют собой записи, описывающие последовательности соединённых точек.
Самая простая форма кодирования указывает координаты X и Y каждой точки‑образца. Когда все соединённые точки отрисованы, они образуют изображение, похожее на это:

Свойства кисти для рисования
Вы можете использовать кисть для рисования линий, соединяющих точки элементов трассы. У кисти есть собственный цвет и размер, соответствующие свойствам Brush.color и Brush.size.
Установить цвет кисти чернил
Этот код Python показывает, как задать цвет кисти:
import aspose.slides as slides
import aspose.pydrawing as draw
with slides.Presentation("pres.pptx") as pres:
ink = pres.slides[0].shapes[0]
traces = ink.traces
brush = traces[0].brush
brush_color = brush.color
brush.color = draw.Color.red
Установить размер кисти чернил
Этот код Python показывает, как задать размер кисти:
import aspose.slides as slides
import aspose.pydrawing as draw
with slides.Presentation("pres.pptx") as pres:
ink = pres.slides[0].shapes[0]
traces = ink.traces
brush = traces[0].brush
brush_size = brush.size
brush.size = draw.SizeF(5.0, 10.0)
Как правило, ширина и высота кисти не совпадают, поэтому PowerPoint не отображает размер кисти (раздел данных серый). Но когда ширина и высота кисти совпадают, PowerPoint отображает её размер следующим образом:

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

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

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

Дополнительные сведения
- Чтобы прочитать о формах в целом, см. раздел PowerPoint Shapes.
- Для получения более подробной информации об эффективных значениях см. Эффективные свойства формы.