Travailler avec des imagesdans PS | Python
Ajouter une image dans un document PS
Aspose.Page pour Python via la bibliothèque .NET propose deux approches pour incorporer des images dans un document PS :
- pour les images opaques ;
- pour les images transparentes ;
Cette distinction est due au fait que PostScript ne prend pas automatiquement en charge la transparence. Cependant, les images translucides peuvent être représentées comme une combinaison de pixels entièrement transparents et entièrement opaques, appelés masques. Lors de l’ajout d’une image translucide à un document PS, il est essentiel d’effectuer des vérifications et un prétraitement pour garantir que la transparence est reflétée avec précision. Ce processus nécessite du temps supplémentaire. Par conséquent, si l’image est totalement opaque, il est plus efficace d’utiliser la première méthode pour gagner du temps d’exécution.
La deuxième méthode détermine automatiquement si l’image est totalement opaque, entièrement transparente ou translucide. Si l’image est totalement opaque, elle est ajoutée en utilisant la première méthode. S’il est totalement transparent, il est complètement exclu du document. Pour les images translucides, elles sont ajoutées sous forme de masques d’image PostScript.
L’exemple ci-dessous montre comment ajouter une image entièrement opaque. L’ajout d’une image transparente sera illustré dans l’article « Travailler avec la transparence ».
Afin d’ajouter une image à un nouveau PsDocument à l’aide de la bibliothèque Aspose.Page for Python via .NET, suivez ces étapes décrites dans l’exemple :
- Configurez un flux de sortie pour le fichier PS résultant.
- Instanciez un objet PsSaveOptions avec les options par défaut.
- Créez un PsDocument d’une page à l’aide du flux de sortie et des options d’enregistrement.
- Créez un nouvel état graphique.
- Créez aspose.pydrawing.Bitmap à partir du fichier image.
- Créez la transformation nécessaire pour l’image.
- Ajoutez l’image à l’objet PsDocument.
- Quittez l’état graphique actuel pour passer au niveau supérieur.
- Fermez la page.
- Enregistrez le document.
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()
Le résultat de l’exécution de ce code est
Vous pouvez télécharger des exemples et des fichiers de données à partir de GitHub.