Administrar objetos de tinta de presentación en PHP
PowerPoint ofrece la función de tinta para permitirle dibujar figuras no estándar, que pueden usarse para resaltar otros objetos, mostrar conexiones y procesos, y llamar la atención sobre elementos específicos en una diapositiva.
Aspose.Slides proporciona todos los tipos de Ink (por ejemplo, la clase Ink) que necesita para crear y administrar objetos de tinta.
Diferencias entre objetos regulares y objetos de tinta
Los objetos en una diapositiva de PowerPoint suelen representarse mediante objetos de forma. Un objeto de forma, en su forma más simple, es un contenedor que define el área del propio objeto (su marco) junto con sus propiedades. Estas últimas incluyen el tamaño del área del contenedor, la forma del contenedor, el fondo del contenedor, etc. Para más información, consulte Shape Layout Format.
Sin embargo, cuando PowerPoint trata con un objeto de tinta, ignora todas las propiedades del marco del objeto (contenedor) excepto su tamaño. El tamaño del área del contenedor se determina mediante los valores estándar width y height:

Trazos de Inkshape
Un trazo es un elemento básico o estándar utilizado para registrar la trayectoria de un lápiz mientras un usuario escribe tinta digital. Los trazos son grabaciones que describen secuencias de puntos conectados.
La forma más simple de codificación especifica las coordenadas X e Y de cada punto de muestra. Cuando se renderizan todos los puntos conectados, producen una imagen como esta:

Propiedades del pincel para dibujar
Puede usar un pincel para dibujar líneas que conecten los puntos de los elementos de trazo. El pincel tiene su propio color y tamaño, correspondientes a las propiedades Brush.Color y Brush.Size.
Establecer color del pincel de tinta
Este código PHP le muestra cómo establecer el color para un pincel:
$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();
}
}
Establecer tamaño del pincel de tinta
Este código PHP le muestra cómo establecer el tamaño para un pincel:
$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();
}
}
En general, el ancho y la altura de un pincel no coinciden, por lo que PowerPoint no muestra el tamaño del pincel (la sección de datos está atenuada). Pero cuando el ancho y la altura del pincel coinciden, PowerPoint muestra su tamaño de esta manera:

Para mayor claridad, aumentemos la altura del objeto de tinta y revisemos las dimensiones importantes:

El contenedor (marco) no considera el tamaño de los pinceles; siempre asume que el grosor de la línea es cero (ver la última imagen).
Por lo tanto, para determinar el área visible de todo el objeto de tinta, debemos considerar el tamaño del pincel de los objetos de trazo. Aquí, el objeto objetivo (el objeto de trazo de texto manuscrito) se ha escalado al tamaño del contenedor (marco). Cuando el tamaño del contenedor (marco) cambia, el tamaño del pincel permanece constante y viceversa.

PowerPoint muestra el mismo comportamiento al tratar con textos:

Lectura adicional
- Para leer sobre formas en general, consulte la sección PowerPoint Shapes.
- Para obtener más información sobre valores efectivos, consulte Shape Effective Properties.