Arbeiten mit Texturen in PS-Datei | Java
Fügen Sie im PS-Dokument ein Texturkachelmuster hinzu
Ein Texturkachelmuster ist ein Bild, das zum Füllen oder Zeichnen von Objekten verwendet wird: Formen oder Text. Wenn die Größe des Bildes kleiner als die Größe des Objekts ist, wird es in X- und Y-Richtung wiederholt, um alle erforderlichen Bereiche abzudecken.
Der Vorgang der Wiederholung des Bildes innerhalb von Grafikobjekten wird als Kacheln bezeichnet. Um Farbe oder Strich in PsDocument festzulegen, müssen wir ein Objekt der Klasse java.awt.Paint für ein Gemälde und ein Objekt der Klasse java.awt.Stroke für den Strich in jeweils übergeben Methoden.
Die Aspose.Page for Java-Bibliothek verarbeitet alle wichtigen implementierten Klassen java.awt.Paint, die von der Java-Plattform angeboten werden. Dies sind java.awt.Color, java.awt.TexturePaint, java.awt.LinearGradientPaint und java.awt.RadialGradientPaint. Die Strichfarbe in Java wird separat von den Stricheigenschaften im java.awt.Stroke-Objekt zugewiesen, indem erneut java.awt.Paint verwendet wird. Daher kann die Aspose.Page for Java-Bibliothek auch einen vollständigen Satz von Paint-Implementierungen verwenden, auch zum Zeichnen von Linien und zum Umreißen von Formen und Text.
Um Grafikobjekte mit einem strukturierten Muster in der Aspose.Page for Java-Bibliothek zu malen, reicht es aus, einfach java.awt.TexturePaint an setPaint() oder einen der fillText( ) oder fillAndStrokeText() Methoden, die java.awt.Paint als Parameter akzeptieren.
Um Grafikobjekte mit einem strukturierten Muster in der Aspose.Page für Java-Bibliothek zu umreißen, sollten Sie das Objekt java.awt.TexturePaint auch an setPaint() oder einen der **outlineText() übergeben **- oder fillAndStrokeText()-Methoden, die Strichfarbe als Parameter akzeptieren.
Im folgenden Beispiel zeigen wir, wie Sie eine Form und einen Text füllen und einen Text mit einem Texturkachelmuster umreißen.
Beschreibung der Arbeitsschritte mit Texture Pattern und PsDocument im Beispiel:
- Erstellen Sie einen Ausgabestream für die resultierende PS-Datei.
- Erstellen Sie ein PsSaveOptions-Objekt mit Standardoptionen.
- Erstellen Sie ein einseitiges PsDocument mit einem bereits erstellten Ausgabestream und Speicheroptionen.
- Erstellen Sie einen neuen Grafikstatus und verschieben Sie ihn an die erforderliche Position.
- Erstellen Sie java.awt.image.BufferedImage aus der Bilddatei.
- Erstellen Sie java.awt.TexturePaint aus dem Bild.
- Stellen Sie die erforderliche Transformation im Texturpinsel ein.
- Legen Sie die Texturfarbe als aktuelle Farbe im aktuellen Grafikstatus von PsDocument fest.
- Erstellen Sie einen rechteckigen Pfad.
- Füllen Sie das Rechteck mit der Strukturfarbe.
- Speichern Sie die aktuelle Farbe als lokale Variable für die zukünftige Verwendung.
- Stellen Sie die aktuelle Farbe mit einer roten Farbe ein.
- Strich mit 2-Punkt-Breite festlegen java.awt.BasicStroke
- Umreißen Sie das Rechteck mit einem aktuellen Strich.
- Verlassen Sie den aktuellen Grafikstatus in den Grafikstatus der oberen Ebene.
- Erstellen Sie eine System-Schriftart.
- Text füllen und streichen (umreißen). Zum Füllen der Struktur wird Farbe verwendet, zum Streichen wird ein schwarzer Stift verwendet.
- Umreißen Sie den Text an der anderen Position mit der Texturfarbe und dem neuen java.awt.BasicStroke.
- Schließen Sie die Seite.
- Speichern Sie das Dokument.
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();
Siehe Arbeiten mit Texturen in PS-Dokumenten in .NET.
Das Ergebnis der Ausführung dieses Codes wird wie folgt angezeigt:
Sie können Beispiele und Datendateien herunterladen von GitHub.