Lavorare con le texture in un file PS | Java

Aggiungi un pattern di texture a mosaico in un documento PS

Un pattern di texture a mosaico è un’immagine utilizzata per riempire o disegnare oggetti: forme o testo. Se le dimensioni dell’immagine sono inferiori a quelle dell’oggetto, viene ripetuta nelle direzioni X e Y per coprire tutte le aree necessarie.

Il processo di ripetizione dell’immagine all’interno di oggetti grafici è chiamato mosaico. Per impostare un disegno o un tratto in PsDocument, dobbiamo passare un oggetto della classe java.awt.Paint per un disegno e un oggetto della classe java.awt.Stroke per il tratto ai rispettivi metodi.

La libreria Aspose.Page per Java elabora tutte le classi importanti implementate da java.awt.Paint offerte dalla piattaforma Java. Questi sono java.awt.Color, java.awt.TexturePaint, java.awt.LinearGradientPaint e java.awt.RadialGradientPaint. Il colore del tratto in Java viene assegnato separatamente dalle proprietà del tratto nell’oggetto java.awt.Stroke utilizzando nuovamente java.awt.Paint. Pertanto, la libreria Aspose.Page per Java può utilizzare anche un set completo di implementazioni di Paint per disegnare linee e delineare forme e testo.

Per dipingere oggetti grafici con un pattern texturizzato nella libreria Aspose.Page per Java, è sufficiente passare java.awt.TexturePaint a setPaint() o a uno dei metodi fillText() o fillAndStrokeText() che accetta java.awt.Paint come parametro.

Per delineare oggetti grafici con un pattern texturizzato nella libreria Aspose.Page per Java, è necessario passare l’oggetto java.awt.TexturePaint anche a setPaint() o a uno dei metodi outlineText() o fillAndStrokeText() che accetta il colore del tratto come parametro.

Nell’esempio seguente mostriamo come riempire una forma e un testo e come delineare un testo con un pattern di texture a mosaico.

Descrizione dei passaggi per lavorare con Texture Pattern e PsDocument nell’esempio:

  1. Creare un flusso di output per il file PS risultante.
  2. Creare l’oggetto PsSaveOptions con le opzioni predefinite. 3. Creare un PsDocument di una pagina con un flusso di output già creato e opzioni di salvataggio.
  3. Creare un nuovo stato grafico e tradurlo nella posizione desiderata.
  4. Creare java.awt.image.BufferedImage dal file immagine.
  5. Creare java.awt.TexturePaint dall’immagine.
  6. Impostare la trasformazione necessaria nel pennello texture.
  7. Impostare la texture paint come paint corrente nello stato grafico corrente di PsDocument.
  8. Creare un tracciato rettangolare.
  9. Riempire il rettangolo con la texture paint.
  10. Salvare la texture corrente come variabile locale per un utilizzo futuro.
  11. Impostare la texture corrente con un colore rosso.
  12. Impostare un tratto con larghezza di 2 punti java.awt.BasicStroke
  13. Delineare il rettangolo con un tratto corrente.
  14. Uscire dallo stato grafico corrente e tornare allo stato grafico di livello superiore. 16. Crea un font di sistema.
  15. Riempi e traccia (contorna) il testo. Per il riempimento si usa la texture paint e per il contorno si usa una penna nera.
  16. Contorna il testo nell’altra posizione con la texture paint e il nuovo java.awt.BasicStroke.
  17. Chiudi la pagina.
  18. Salva il documento.
 1//Create an output stream for PostScript document
 2FileOutputStream outPsStream = new FileOutputStream(dataDir + "AddTextureTilingPattern_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
 9document.writeGraphicsSave();
10document.translate(200, 100);
11
12//Create a BufferedImage object from image file
13BufferedImage image = ImageIO.read(new File(dataDir + "TestTexture.bmp"));
14
15//Create image area doubled in width
16Rectangle2D.Float imageArea = new Rectangle2D.Float(0, 0, image.getWidth() * 2, image.getHeight());
17//Create texture brush from the image
18TexturePaint paint = new TexturePaint(image, imageArea);
19
20//Create rectangle
21Rectangle2D.Float shape = new Rectangle2D.Float(0, 0, 200, 100);
22
23//Set this texture brush as current paint
24document.setPaint(paint);
25//Fill rectangle
26document.fill(shape);
27
28
29document.setPaint(Color.RED);
30document.setStroke(new BasicStroke(2));
31document.draw(shape);
32
33document.writeGraphicsRestore();
34
35//Fill the text with the texture pattern
36Font font = new Font("Arial", Font.BOLD, 96);
37document.fillAndStrokeText("ABC", font, 200, 300, paint, Color.BLACK, new BasicStroke(2));
38
39//Outline the text with the texture pattern
40document.outlineText("ABC", font, 200, 400, paint, new BasicStroke(5));
41
42//Close current page
43document.closePage();
44//Save the document
45document.save();

Vedi come lavorare con le texture nei documenti PS in .NET.


Il risultato dell'esecuzione di questo codice viene visualizzato come

Aggiungi pattern di affiancamento texture

È possibile scaricare esempi e file di dati da GitHub.

Have any questions about Aspose.Page?



Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.