Trabalhar com Imagens em Arquivo PS | Python
Adicionar Imagem em Documento PS
O Aspose.Page para Python via biblioteca .NET oferece duas abordagens para incorporar imagens num documento PS:
- para imagens opacas;
- para imagens transparentes;
Esta distinção surge porque o PostScript não suporta inerentemente a transparência. No entanto, as imagens translúcidas podem ser representadas como uma combinação de pixéis totalmente transparentes e totalmente opacos, conhecidos como máscaras. Ao adicionar uma imagem translúcida a um documento PS, é essencial realizar verificações e pré-processamento para garantir que a transparência é refletida com precisão. Este processo requer tempo adicional. Assim, se a imagem for totalmente opaca, é mais eficiente utilizar o primeiro método para poupar tempo de execução.
O segundo método determina automaticamente se a imagem é totalmente opaca, totalmente transparente ou translúcida. Se a imagem for totalmente opaca, é adicionada através do primeiro método. Se for totalmente transparente, é completamente excluída do documento. Para imagens translúcidas, são adicionadas como máscaras de imagem PostScript.
O exemplo abaixo demonstra como adicionar uma imagem totalmente opaca. A adição de uma imagem transparente será ilustrada no artigo “Trabalhar com Transparência”.
Para adicionar uma imagem a um novo PsDocument utilizando a biblioteca Aspose.Page para Python através de .NET, siga os seguintes passos descritos no exemplo:
- Configure um fluxo de saída para o ficheiro PS resultante.
- Instância um objeto PsSaveOptions com opções padrão.
- Crie um PsDocument de uma página utilizando o fluxo de saída e as opções de guardar.
- Crie um novo estado gráfico.
- Crie aspose.pydrawing.Bitmap a partir do ficheiro de imagem.
- Crie a transformação necessária para a imagem.
- Adicione a imagem ao objeto PsDocument.
- Saia do estado gráfico atual para o nível superior.
- Feche a página.
- Guarde o documento.
1# The path to the documents directory.
2data_dir = Util.get_data_dir_working_with_images()
3
4# Create an output stream for the PostScript document
5with open(data_dir + "AddImage_outPS.ps", "wb") as out_ps_stream:
6 # Create the save options with A4 size
7 options = PsSaveOptions()
8
9 # Create a new 1-paged PS Document
10 document = PsDocument(out_ps_stream, options, False)
11
12
13 document.write_graphics_save()
14 document.translate(100, 100)
15
16 # Create a Bitmap object from the image file
17 with aspose.pydrawing.Bitmap(data_dir + "TestImage Format24bppRgb.jpg") as image:
18 # Create an image transform
19 transform = aspose.pydrawing.drawing2d.Matrix()
20 transform.translate(float(35), float(300))
21 transform.scale(float(3), float(3))
22 transform.rotate(float(-45))
23
24 # Add the image to the document
25 document.draw_image(image, transform, aspose.pydrawing.Color())
26
27 document.write_graphics_restore()
28
29 # Close the current page
30 document.close_page()
31
32 # Save the document
33 document.save()
O resultado da execução deste código é
Pode descarregar exemplos e ficheiros de dados do GitHub.