Travailler avec des imagesdans PS | Java
Ajouter une image dans un document PS
La bibliothèque Aspose.Page pour Java propose deux méthodes pour ajouter des images au document PS :
- pour les images opaques ;
- pour les images transparentes ;
Cela a été créé parce que PostScript ne prend pas en charge la transparence, mais les images translucides peuvent cependant être restituées sous la forme d’un ensemble de pixels entièrement transparents et entièrement opaques. De telles images sont appelées masques.
Si nous voulons voir l’image translucide dans le document PS comme un masque, qui reflétera mieux la transparence de l’image, nous devrions effectuer une vérification et un prétraitement d’une telle image. Le contrôle et le prétraitement nécessitent du temps. Par conséquent, si quelqu’un est sûr que l’image est totalement opaque, il est préférable d’utiliser la première méthode, car elle permet de gagner du temps d’exécution.
La deuxième méthode reconnaît si l’image est totalement opaque ou totalement transparente ou translucide. Si elle est entièrement opaque, elle est ajoutée comme image opaque dans la première méthode, si elle est entièrement transparente, elle n’est pas ajoutée du tout au document, si c’est l’image translucide, elle est ajoutée en tant que masque d’image PostScript.
Dans l’exemple ci-dessous, nous montrons comment ajouter une image entièrement opaque. L’ajout d’une image transparente sera démontré dans l’article « Travailler avec la transparence ».
Afin d’ajouter une image à un nouveau PsDocument avec la bibliothèque Aspose.Page pour Java dans cet exemple, nous suivons les étapes suivantes :
- Créez un flux de sortie pour le fichier PS résultant.
- Créez un objet PsSaveOptions avec les options par défaut.
- Créez un PsDocument d’une page avec un flux de sortie déjà créé et enregistrez les options.
- Créez un nouvel état graphique.
- Créez java.awt.image.BufferedImage à 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//Create an output stream for PostScript document
2FileOutputStream outPsStream = new FileOutputStream(dataDir + "AddImage_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
9
10document.writeGraphicsSave();
11document.translate(100, 100);
12
13//Create a BufferedImage object from image file
14BufferedImage image = ImageIO.read(new File(dataDir + "TestImage Format24bppRgb.jpg"));
15
16//Create image transform
17AffineTransform transform = new AffineTransform();
18transform.translate(35, 300);
19transform.scale(3, 3);
20transform.rotate(-45);
21
22//Add image to document
23document.drawImage(image, transform, null);
24
25document.writeGraphicsRestore();
26
27//Close current page
28document.closePage();
29//Save the document
30document.save();
Voir Travailler avec des images dans des documents PS dans .NET.
Le résultat de l’exécution de ce code apparaît comme
Vous pouvez télécharger des exemples et des fichiers de données à partir de GitHub.