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

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

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

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

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

PowerPoint демонстрирует аналогичное поведение при работе с текстом:

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