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

È possibile scaricare esempi e file di dati da GitHub.