Trabalhar com Imagens em Arquivo PS | Java

Adicionar Imagem em Documento PS

A biblioteca Aspose.Page para Java oferece dois métodos para adicionar imagens a um documento PS:

Isto foi feito porque o PostScript não suporta transparência, mas as imagens translúcidas podem ser renderizadas como um conjunto de pixels totalmente transparentes e totalmente opacos. Estas imagens são chamadas de máscaras.

Se quisermos ver a imagem translúcida no documento PS como máscara, que refletirá melhor a transparência da imagem, devemos realizar alguma verificação e pré-processamento dessa imagem. A verificação e o pré-processamento demoram tempo. Portanto, se alguém tiver a certeza de que a imagem é totalmente opaca, é melhor utilizar o primeiro método, pois poupa tempo de execução.

O segundo método reconhece se a imagem é totalmente opaca, totalmente transparente ou translúcida. Se for totalmente opaca, será adicionada como a imagem opaca no primeiro método; se for totalmente transparente, não será adicionada ao documento; se for a imagem translúcida, será adicionada como uma máscara de imagem PostScript.

No exemplo abaixo, demonstramos como adicionar uma imagem totalmente opaca. A adição de uma imagem transparente será demonstrada no artigo “Trabalhar com Transparência”.

Para adicionar uma imagem a um novo PsDocument com a biblioteca Aspose.Page para Java, neste exemplo, seguimos os seguintes passos:

  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.
  5. Crie java.awt.image.BufferedImage a partir do ficheiro de imagem.
  6. Crie a transformação necessária para a imagem.
  7. Adicione a imagem ao objeto PsDocument.
  8. Saia do estado gráfico atual para o nível superior.
  9. Feche a página.
  10. Guarde o documento.
 1// Add image to PS document.
 2
 3String outputFileName = "AddImage_outPS.ps";
 4
 5//Create save options with A4 size
 6PsSaveOptions options = new PsSaveOptions();
 7
 8// Create new 1-paged PS Document
 9PsDocument document = new PsDocument(getOutputDir() + outputFileName, options, false);
10
11document.writeGraphicsSave();
12document.translate(100, 100);
13
14//Create a BufferedImage object from image file
15try {
16    BufferedImage image = ImageIO.read(new java.io.File(getDataDir() + "TestImage Format24bppRgb.jpg"));
17    
18    //Create image transform
19    AffineTransform transform = new AffineTransform();
20    transform.translate(35, 300);
21    transform.scale(3, 3);
22    transform.rotate(Math.toRadians(-45));
23
24    //Add image to document
25    document.drawImage(image, transform, Color.WHITE);
26} catch (IOException ex) {
27}
28
29document.writeGraphicsRestore();
30
31//Close current page
32document.closePage();
33
34//Save the document
35document.save();
Example-AddImagePS.java hosted with ❤ by GitHub

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

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

Adicionar Imagem

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.