Gerenciar objetos de tinta da apresentação em PHP
Introdução
O PowerPoint fornece a função de tinta para permitir que você desenhe figuras não padrão, que podem ser usadas para destacar outros objetos, mostrar conexões e processos, e chamar a atenção para itens específicos em um slide.
Aspose.Slides fornece todos os tipos de Ink (por exemplo, a classe Ink) que você precisa para criar e gerenciar objetos de tinta.
Diferenças entre Objetos Regulares e Objetos de Tinta
Objetos em um slide do PowerPoint são tipicamente representados por objetos shape. Um objeto shape, em sua forma mais simples, é um contêiner que define a área do próprio objeto (sua moldura) juntamente com suas propriedades. Estas incluem o tamanho da área do contêiner, o formato do contêiner, o plano de fundo do contêiner, etc. Para informações, veja Shape Layout Format.
No entanto, quando o PowerPoint está lidando com um objeto de tinta, ele ignora todas as propriedades da moldura do objeto (contêiner) exceto seu tamanho. O tamanho da área do contêiner é determinado pelos valores padrão width e height:

Rastreamentos de Inkshape
Rastreamento é um elemento básico ou padrão usado para registrar a trajetória de uma caneta enquanto o usuário escreve tinta digital. Rastreamentos são gravações que descrevem sequências de pontos conectados.
A forma mais simples de codificação especifica as coordenadas X e Y de cada ponto de amostra. Quando todos os pontos conectados são renderizados, eles produzem uma imagem como esta:

Propriedades do Pincel para Desenho
Você pode usar um pincel para desenhar linhas que conectam os pontos dos elementos de rastreamento. O pincel tem sua própria cor e tamanho, correspondentes às propriedades Brush.Color e Brush.Size.
Definir Cor do Pincel de Tinta
Este código PHP mostra como definir a cor de um 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();
}
}
Definir Tamanho do Pincel de Tinta
Este código PHP mostra como definir o tamanho de um 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();
}
}
Geralmente, a largura e a altura de um pincel não correspondem, portanto o PowerPoint não exibe o tamanho do pincel (a seção de dados fica esmaecida). Mas quando a largura e a altura do pincel coincidem, o PowerPoint exibe seu tamanho desta forma:

Para maior clareza, vamos aumentar a altura do objeto de tinta e revisar as dimensões importantes:

O contêiner (quadro) não considera o tamanho dos pincéis — ele sempre assume que a espessura da linha é zero (veja a última imagem).
Portanto, para determinar a área visível de todo o objeto de tinta, devemos considerar o tamanho do pincel dos objetos de rastreamento. Aqui, o objeto alvo (o objeto de rastreamento de texto manuscrito) foi dimensionado para o tamanho do contêiner (quadro). Quando o tamanho do contêiner (quadro) muda, o tamanho do pincel permanece constante e vice‑versa.

O PowerPoint apresenta o mesmo comportamento ao lidar com textos:

Leitura adicional
- Para ler sobre formas em geral, veja a seção PowerPoint Shapes.
- Para mais informações sobre valores efetivos, veja Shape Effective Properties.