Trabalhar com Texturas em Ficheiro PS | Java

Adicionar Padrão de Textura em Azulejos no Documento PS

Um padrão de textura em azulejos é uma imagem utilizada para preencher ou desenhar objetos: formas ou texto. Se o tamanho da imagem for inferior ao tamanho do objeto, esta será repetida nas direções X e Y para cobrir todas as áreas necessárias.

O processo de repetição da imagem dentro de objetos gráficos é designado por azulejo. Para definir pintura ou traço em PsDocument, devemos passar um objeto da classe java.awt.Paint para uma pintura e um objeto da classe java.awt.Stroke para traçado nos respetivos métodos.

A biblioteca Aspose.Page para Java processa todas as classes importantes implementadas java.awt.Paint oferecidas pela plataforma Java. São elas: java.awt.Color, java.awt.TexturePaint, java.awt.LinearGradientPaint e java.awt.RadialGradientPaint. A cor do traço em Java é atribuída separadamente das propriedades do traço no objeto java.awt.Stroke, utilizando novamente java.awt.Paint. Assim, a biblioteca Aspose.Page para Java pode também utilizar um conjunto completo de implementações de pintura para desenhar linhas e contornar formas e texto.

Para pintar objetos gráficos com um padrão texturizado na biblioteca Aspose.Page para Java, basta passar java.awt.TexturePaint para setPaint() ou um dos métodos fillText() ou fillAndStrokeText() que aceitam java.awt.Paint como parâmetro.

Para contornar os objetos gráficos com um padrão texturizado na biblioteca Aspose.Page para Java, deve passar o objeto java.awt.TexturePaint também para setPaint() ou um dos métodos outlineText() ou fillAndStrokeText() que aceitam trace painting como parâmetro.

No exemplo abaixo, demonstramos como preencher uma forma e um texto, e contornar um texto com um padrão de mosaico texturado.

Descrição dos passos de trabalho com o Padrão de Textura e PsDocument no exemplo:

  1. Crie um fluxo de saída para o ficheiro PS resultante.
  2. Crie o objeto PsSaveOptions com as opções padrão.
  3. Crie um PsDocument de 1 página com um fluxo de saída já criado e guarde as opções.
  4. Crie um novo estado gráfico e translade-o para a posição necessária.
  5. Crie java.awt.image.BufferedImage a partir do ficheiro de imagem.
  6. Crie java.awt.TexturePaint a partir da imagem.
  7. Defina a transformação necessária no pincel de textura.
  8. Defina a pintura de textura como a pintura atual no estado gráfico atual do PsDocument.
  9. Crie um percurso retangular.
  10. Preencha o retângulo com a pintura de textura.
  11. Guarde a pintura atual como uma variável local para utilização futura.
  12. Defina a pintura atual com uma cor vermelha.
  13. Defina o traço com uma largura de 2 pontos java.awt.BasicStroke
  14. Contorne o retângulo com um traço atual.
  15. Saia do estado gráfico atual para o estado gráfico de nível superior.
  16. Crie uma fonte system.
  17. Preencha e traceje (contorne) o texto. Para preencher a textura, utilize tinta e, para traçar, caneta preta.
  18. Contorne o texto na outra posição com a tinta e o novo java.awt.BasicStroke.
  19. Feche a página.
  20. Guarde o documento.
 1//Create an output stream for PostScript document
 2FileOutputStream outPsStream = new FileOutputStream(dataDir + "AddTextureTilingPattern_outPS.ps");
 3//Create save options with A4 size
 4PsSaveOptions options = new PsSaveOptions();
 5
 6//Create new PS Document with the page opened
 7PsDocument document = new PsDocument(outPsStream, options, false);
 8
 9document.writeGraphicsSave();
10document.translate(200, 100);
11
12//Create a BufferedImage object from image file
13BufferedImage image = ImageIO.read(new File(dataDir + "TestTexture.bmp"));
14
15//Create image area doubled in width
16Rectangle2D.Float imageArea = new Rectangle2D.Float(0, 0, image.getWidth() * 2, image.getHeight());
17//Create texture brush from the image
18TexturePaint paint = new TexturePaint(image, imageArea);
19
20//Create rectangle
21Rectangle2D.Float shape = new Rectangle2D.Float(0, 0, 200, 100);
22
23//Set this texture brush as current paint
24document.setPaint(paint);
25//Fill rectangle
26document.fill(shape);
27
28
29document.setPaint(Color.RED);
30document.setStroke(new BasicStroke(2));
31document.draw(shape);
32
33document.writeGraphicsRestore();
34
35//Fill the text with the texture pattern
36Font font = new Font("Arial", Font.BOLD, 96);
37document.fillAndStrokeText("ABC", font, 200, 300, paint, Color.BLACK, new BasicStroke(2));
38
39//Outline the text with the texture pattern
40document.outlineText("ABC", font, 200, 400, paint, new BasicStroke(5));
41
42//Close current page
43document.closePage();
44//Save the document
45document.save();

Veja como trabalhar com texturas em documentos PS em .NET.


O resultado da execução deste código é apresentado como

Adicionar Padrão de Mosaico de Textura

Pode descarregar exemplos e ficheiros de dados do GitHub.

Have any questions about Aspose.Page?



Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.