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:

  1. Erstellen Sie einen Ausgabestream für die resultierende PS-Datei.
  2. Initiieren Sie ein PsSaveOptions-Objekt mit den Standardoptionen.
  3. Erstellen Sie ein einseitiges PsDocument mit einem bereits erstellten Ausgabestream und Speicheroptionen.
  4. Erstellen Sie einen neuen Grafikstatus und verschieben Sie ihn an die erforderliche Position.
  5. Erstellen Sie aspose.pydrawing.Bitmap aus einer Bilddatei.
  6. Erstellen Sie aspose.pydrawing.TextureBrush aus dem Bild.
  7. Stellen Sie die erforderliche Transformation im Texturpinsel ein.
  8. Legen Sie die Texturfarbe als aktuelle Farbe im aktuellen Grafikstatus des PsDocument fest.
  9. Erstellen Sie einen rechteckigen Pfad.
  10. Füllen Sie das Rechteck mit der Strukturfarbe.
  11. Speichern Sie die aktuelle Farbe als lokale Variable für die zukünftige Verwendung.
  12. Stellen Sie die aktuelle Farbe mit einer roten Farbe ein.
  13. Legen Sie einen Strich mit der 2-Punkt-Breite aspose.pydrawing.Pen fest.
  14. Umreißen Sie das Rechteck mit dem aktuellen Strich.
  15. Verlassen Sie den aktuellen Grafikstatus in den Grafikstatus der oberen Ebene.
  16. Erstellen Sie eine System-Schriftart.
  17. Text füllen und streichen (umreißen). Zum Füllen der Struktur wird Farbe verwendet, zum Streichen wird ein schwarzer Stift verwendet.
  18. Umreißen Sie den Text an der anderen Position mit der Texturfarbe und einem neuen aspose.pydrawing.Pen.
  19. Schließen Sie die Seite.
  20. 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()

Siehe Arbeiten mit Texturen in PS-Dokumenten in .NET, Java.

Das Ergebnis der Ausführung dieses Codes ist

Texturkachelmuster hinzufügen

Sie können Beispiele und Datendateien herunterladen von GitHub.

Have any questions about Aspose.Page?



Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.