Lavorare con i modelli di tratteggio in un file PS | Java

Aggiungi un pattern di tratteggio in un documento PS

Il pattern di tratteggio è un pattern di texture a mosaico, solitamente rappresentato da piccole immagini semplici a 2 colori (solitamente bianco e nero). Il contenuto principale di queste piccole immagini è costituito da vari tratteggi.

La piattaforma Java non dispone di una classe separata per dipingere forme e testo con i tratteggi. Tuttavia, la libreria Aspose.Page per Java offre la classe com.aspose.eps.HatchPaintLibrary che offre la possibilità di creare java.awt.TexturePaint riempito con tratteggi definiti da uno dei 55 stili offerti da com.aspose.eps.HatchStyle.

Per dipingere oggetti grafici con un pattern di tratteggio nella libreria Aspose.Page per Java, è necessario creare un tratteggio java.awt.TexturePaint con stile di tratteggio assegnato, passarlo a setPaint() o a uno dei metodi fillText() o fillAndStrokeText() che accettano java.awt.Paint come parametro.

Per delineare oggetti grafici con un pattern di tratteggio nella libreria Aspose.Page per Java, è necessario impostare il pattern di tratteggio come paint corrente in PsDocument, creare un nuovo java.awt.BasicStroke e passarlo a setStroke() o a uno dei metodi outlineText() o fillAndStrokeText() che accettano java.awt.Stroke come parametro.

Nell’esempio seguente mostriamo, innanzitutto, come riempire una forma con un motivo di tratteggio, poi tutti i diversi stili di tratteggio in Java e, infine, come riempire e delineare un testo con un motivo di tratteggio.

Un algoritmo per dipingere oggetti grafici con un motivo di tratteggio in un nuovo documento PS include i seguenti passaggi:

  1. Creare un flusso di output per il file PS risultante.
  2. Creare PsSaveOptions.
  3. Creare PsDocument con il flusso di output già creato e le opzioni di salvataggio.
  4. Creare la forma o il font in base all’oggetto che si desidera riempire o delineare. 5. Creare con com.aspose.eps.HatchPaintLibrary un oggetto di java.awt.TexturePaint con stile desiderato.
  5. Impostare la vernice del tratteggio come vernice corrente in PsDocument.
  6. Riempire la forma con la vernice corrente o riempire un testo. Se utilizziamo uno dei metodi per riempire un testo che accetta java.awt.Paint come parametro, il punto precedente può essere ignorato.
  7. Chiudere la pagina.
  8. Salvare il documento.

Se abbiamo bisogno di contornare (contornare) oggetti grafici con un motivo di tratteggio invece degli ultimi 4 punti, il seguente sarà:

  1. Impostare la vernice del tratteggio come vernice corrente in PsDocument.

  2. Creare l’oggetto java.awt.BasicStroke.

  3. Imposta questo tratto come tratto corrente in PsDocument.

  4. Contorna la forma con il colore corrente e traccia o traccia il testo. Se utilizziamo uno dei metodi per delineare il testo che accetta java.awt.Stroke come parametro, il punto precedente può essere ignorato.

  5. Chiudi la pagina.

  6. Salva il documento.

 1  // Demonstrates all embedded hatch patterns that can be used to paint or outline shapes or text in PS document.
 2
 3  String outputFileName = "AddHatchPattern_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  int x0 = 20;
12  int y0 = 100;
13  int squareSide = 32;
14  int width = 500;
15  int sumX = 0;
16
17//Restore graphics state
18  document.writeGraphicsSave();
19
20  //Translate to initial point
21  document.translate(x0, y0);
22  
23  //Create a square for every pattern
24  Rectangle2D.Float square = new Rectangle2D.Float(0, 0, squareSide, squareSide);
25  
26  //Create pen for outlining pattern square
27  BasicStroke stroke = new BasicStroke(2);
28  
29  HatchStyle [] hatchStyles = HatchStyle.values();
30  
31  //For every hatch pattern style 
32  for (int i = 0; i < hatchStyles.length; i++) {            
33  	//Create a hatch texture pattern by hatch style, foreground and background colors
34  	TexturePaint paint = HatchPaintLibrary.getHatchTexturePaint(hatchStyles[i], Color.BLACK, Color.WHITE);
35  	//Set paint with the current hatch pattern
36      document.setPaint(paint);
37
38      //Calculate a displacement in order to don't go beyond the page bounds
39      int x = squareSide;
40      int y = 0;
41      if (sumX >= width) {
42          x = -(sumX - squareSide);
43          y += squareSide;
44      }
45
46      //Translate current graphics state
47      document.translate(x, y);
48      //Fill pattern square
49      document.fill(square);
50
51      //Set current paint
52      document.setPaint(Color.BLACK);
53      //Set current stroke
54      document.setStroke(stroke);
55      //Draw square outline
56      document.draw(square);
57
58      //Calculate distance from X0
59      if (sumX >= width)
60          sumX = squareSide;
61      else
62          sumX += x;
63  }
64  
65  //Restore graphics state
66  document.writeGraphicsRestore();
67  
68  //Fill a text with the hatch pattern
69  TexturePaint paint = HatchPaintLibrary.getHatchTexturePaint(HatchStyle.DiagonalCross, Color.RED, Color.YELLOW);
70  Font font = new Font("Arial", Font.BOLD, 96);
71  document.fillAndStrokeText("ABC", font, 200, 320, paint, Color.BLACK, stroke);
72
73  //Outline the text with the hatch pattern
74  paint = HatchPaintLibrary.getHatchTexturePaint(HatchStyle.Percent70, Color.BLUE, Color.WHITE);
75  document.outlineText("ABC", font, 200, 420, paint, new BasicStroke(5));
76
77  //Close current page
78  document.closePage();
79
80  //Save the document
81  document.save();

Vedi come lavorare con un pattern di tratteggio in un documento PS in .NET.


Il risultato dell'esecuzione di questo codice viene visualizzato come

Aggiungi pattern di tratteggio

È 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.