Arbeiten mit Texturen in PS-Datei | Python
Fügen Sie im PS-Dokument ein Texturkachelmuster hinzu
Ein Texturkachelmuster bezieht sich auf ein Bild, das zum Füllen oder Zeichnen von Objekten wie Formen oder Text verwendet wird. Wenn die Bildgröße kleiner als die des Objekts ist, wird der Vorgang sowohl in X- als auch in Y-Richtung wiederholt, um die erforderlichen Bereiche ausreichend abzudecken.
Diese Wiederholung des Bildes innerhalb von Grafikobjekten wird als Kacheln bezeichnet. Um Farbe oder Strich in einem PsDocument festzulegen, muss ein Objekt der Klasse aspose.pydrawing.Brush zum Malen und ein Objekt der Klasse aspose.pydrawing.Pen zum Strich bereitgestellt werden in ihren jeweiligen Methoden.
Aspose.Page für Python verarbeitet über die .NET-Bibliothek alle wichtigen Klassen, die von aspose.pydrawing.Brush implementiert werden und von der Python-Plattform angeboten werden. Dies sind aspose.pydrawing.Color, aspose.pydrawing.TextureBrush, aspose.pydrawing.drawing2d.LinearGradientBrush und aspose.pydrawing.drawing2d.PathGradientBrush. Eine Strichfarbe in Python wird separat von den Stricheigenschaften im aspose.pydrawing.Pen-Objekt zugewiesen, indem erneut aspose.pydrawing.Brush verwendet wird. Daher kann Aspose.Page für Python über die .NET-Bibliothek auch einen vollständigen Satz von Paint-Implementierungen zum Zeichnen von Linien und zum Umreißen von Formen und Text verwenden.
Um Grafikobjekte mit einem strukturierten Muster in Aspose.Page für Python über die .NET-Bibliothek zu malen, reicht es aus, einfach aspose.pydrawing.TextureBrush an set_paint() oder eines davon zu übergeben die Methoden fill_text() oder fill_and_Stroke_text(), die aspose.pydrawing.Brush als Parameter akzeptieren.
Um Grafikobjekte mit einem strukturierten Muster zu umreißen, sollten Sie das Objekt aspose.pydrawing.TextureBrush auch an set_paint() oder einen der outline_text() oder ** übergeben. fill_and_stroke_text()** 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.
Hier ist eine Beschreibung der Schritte zum Arbeiten mit Texture Pattern und PsDocument:
- Erstellen Sie einen Ausgabestream für die resultierende PS-Datei.
- Initiieren Sie ein PsSaveOptions-Objekt mit den 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 aspose.pydrawing.Bitmap aus einer Bilddatei.
- Erstellen Sie aspose.pydrawing.TextureBrush aus dem Bild.
- Stellen Sie die erforderliche Transformation im Texturpinsel ein.
- Legen Sie die Texturfarbe als aktuelle Farbe im aktuellen Grafikstatus des 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.
- Legen Sie einen Strich mit der 2-Punkt-Breite aspose.pydrawing.Pen fest.
- Umreißen Sie das Rechteck mit dem 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 einem neuen aspose.pydrawing.Pen.
- Schließen Sie die Seite.
- Speichern Sie das Dokument.
1# The path to the documents directory.
2data_dir = Util.get_data_dir_working_with_textures()
3
4# Create an output stream for the PostScript document
5with open(data_dir + "AddTextureTilingPattern_outPS.ps", "wb") as out_ps_stream:
6 # Create the save options with the A4 size
7 options = PsSaveOptions()
8
9 # Create a new 1-paged PS Document
10 document = PsDocument(out_ps_stream, options, False)
11
12
13 document.write_graphics_save()
14 document.translate(200, 100)
15
16 #Create a Bitmap object from an image file
17 with aspose.pydrawing.Bitmap(data_dir + "TestTexture.bmp") as image:
18 # Create a texture brush from the image
19 brush = aspose.pydrawing.TextureBrush(image, aspose.pydrawing.drawing2d.WrapMode.TILE)
20
21 # Add scaling in the X direction to the mattern
22 transform = aspose.pydrawing.drawing2d.Matrix(float(2), float(0), float(0), float(1), float(0), float(0))
23 brush.transform = transform
24
25 # Set this texture brush as a current paint
26 document.set_paint(brush)
27
28 # Create a rectangle path
29 path = aspose.pydrawing.drawing2d.GraphicsPath()
30 path.add_rectangle(aspose.pydrawing.RectangleF(0, 0, 200, 100))
31
32 # Fill the rectangle
33 document.fill(path)
34
35 # Get the current paint
36 paint = document.get_paint()
37
38 # Set a red stroke
39 pen1 = aspose.pydrawing.Pen(aspose.pydrawing.Color.red)
40 pen1.width = float(2)
41 document.set_stroke(pen1)
42
43 # Stroke the rectangle
44 document.draw(path)
45
46 document.write_graphics_restore()
47
48 # Fill the text with the texture pattern
49 font = aspose.page.ExternalFontCache.create_font_by_family_name("Arial", 96, aspose.pydrawing.FontStyle.BOLD)
50 pen2 = aspose.pydrawing.Pen(aspose.pydrawing.Color.black)
51 pen2.width = float(2)
52 document.fill_and_stroke_text("ABC", font, 200, 300, paint, pen2)
53
54 # Outline the text with the texture pattern
55 pen3 = aspose.pydrawing.Pen(aspose.pydrawing.Color.black)
56 pen3.brush = paint
57 pen3.width = float(5)
58 document.outline_text("ABC", font, 200, 400, pen3)
59
60 # Close the current page
61 document.close_page()
62
63 # Save the document
64 document.save()
Das Ergebnis der Ausführung dieses Codes ist
Sie können Beispiele und Datendateien herunterladen von GitHub.