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

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

Свойства кисти для рисования
Вы можете использовать кисть для рисования линий, соединяющих точки элементов трассы. Кисть имеет собственный цвет и размер, соответствующие свойствам Brush.Color и Brush.Size.
Установить цвет кисти Ink
Этот код на Java показывает, как установить цвет для кисти:
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
Этот код на Java показывает, как установить размер для кисти:
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();
}
Как правило, ширина и высота кисти не совпадают, поэтому PowerPoint не отображает размер кисти (раздел данных серый). Однако, когда ширина и высота кисти совпадают, PowerPoint отображает её размер следующим образом:

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

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

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

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