Lavorare con le immagini in un file PS | Java
Aggiungi immagine in un documento PS
La libreria Aspose.Page per Java offre due metodi per aggiungere immagini a un documento PS:
- per immagini opache;
- per immagini trasparenti;
Questo è stato fatto perché PostScript non supporta la trasparenza. Tuttavia, le immagini traslucide possono essere renderizzate come un insieme di pixel completamente trasparenti e completamente opachi. Tali immagini sono chiamate maschere.
Se vogliamo vedere l’immagine traslucida nel documento PS come una maschera che rifletterà meglio la trasparenza dell’immagine, dovremmo eseguire un controllo e una pre-elaborazione di tale immagine. Il controllo e la pre-elaborazione richiedono tempo. Pertanto, se si è certi che l’immagine sia completamente opaca, è meglio utilizzare il primo metodo, in quanto consente di risparmiare tempo di esecuzione.
Il secondo metodo riconosce se l’immagine è completamente opaca, completamente trasparente o traslucida. Se è completamente opaca, viene aggiunta come immagine opaca nel primo metodo; se è completamente trasparente, non viene aggiunta al documento; se è un’immagine traslucida, viene aggiunta come maschera di immagine PostScript.
Nell’esempio seguente, mostriamo come aggiungere un’immagine completamente opaca. L’aggiunta di un’immagine trasparente verrà illustrata nell’articolo “Lavorare con la trasparenza”.
Per aggiungere un’immagine a un nuovo PsDocument con la libreria Aspose.Page per Java in questo esempio, seguiamo i seguenti passaggi:
- Creare un flusso di output per il file PS risultante.
- Creare un oggetto PsSaveOptions con opzioni predefinite.
- Creare un PsDocument di 1 pagina con il flusso di output già creato e opzioni di salvataggio.
- Creare un nuovo stato grafico.
- Creare java.awt.image.BufferedImage da un file immagine.
- Creare la trasformazione necessaria per l’immagine.
- Aggiungere l’immagine all’oggetto PsDocument.
- Uscire dallo stato grafico corrente per passare al livello superiore.
- Chiudere la pagina.
- Salvare il 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();Vedi come lavorare con le immagini nei documenti PS in .NET.
Il risultato dell’esecuzione di questo codice viene visualizzato come segue:

È possibile scaricare esempi e file di dati da GitHub.