Arbeiten mit Visual Brush in XPS-Datei | Python
Ein visueller Pinsel ist ein leistungsstarkes Werkzeug zum Erstellen visuell ansprechender und dynamischer Designs im Grafikdesign- und Softwareentwicklungskontext. Sie werden verwendet, um Formen mit visuellen Inhalten wie Bildern, Farbverläufen oder anderen grafischen Elementen zu füllen oder zu streichen, sodass Sie ein visuelles Element mit einem anderen übermalen können.
Technisch gesehen handelt es sich bei einem visuellen Pinsel um einen Pinseltyp, der auf ein visuelles Objekt wie ein Bild oder ein UI-Element verweist und dieses Objekt verwendet, um das Erscheinungsbild einer Form oder eines Pfads zu definieren. Bei Anwendung auf eine Form rendert der visuelle Pinsel das referenzierte visuelle Objekt innerhalb der Grenzen der Form. Sie können verwendet werden, um eine Form mit einem Bild zu füllen, Muster oder Texturen zu erstellen oder sogar komplexe grafische Effekte anzuwenden.
Fügen Sie ein Raster mit dem visuellen Pinsel hinzu
Aspose.Page für Python über .NET stellt die Klasse XpsVisualBrush bereit, mit der Sie einem XPS-Dokument ein Raster hinzufügen können. Um dies zu erreichen, müssen Sie eine XpsPathGeometry angeben und ein XpsCanvas zum Objekt der Klasse XpsDocument hinzufügen. Der folgende Codeausschnitt demonstriert die vollständige Funktionalität zum Hinzufügen eines Rasters zu einem XPS-Dokument:
1# The path to the documents directory.
2data_dir = Util.get_data_dir_working_with_visual_brush()
3
4doc = XpsDocument()
5# Geometry for the magenta grid VisualBrush
6path_geometry = doc.create_path_geometry()
7path_geometry.add_segment(doc.create_poly_line_segment(
8[ aspose.pydrawing.PointF(240, 5), aspose.pydrawing.PointF(240, 310), aspose.pydrawing.PointF(0, 310) ], True))
9path_geometry[0].start_point = aspose.pydrawing.PointF(0, 5)
10
11# Canvas for the magenta grid VisualBrush
12visual_canvas = doc.create_canvas()
13
14visual_path = visual_canvas.add_path(
15doc.create_path_geometry("M 0,4 L 4,4 4,0 6,0 6,4 10,4 10,6 6,6 6,10 4,10 4,6 0,6 Z"))
16visual_path.fill = doc.create_solid_color_brush(doc.create_color(1, .61, 0.1, 0.61))
17
18grid_path = doc.create_path(path_geometry)
19#Create a Visual Brush, it is specified by some XPS fragment (vector graphics and glyphs)
20visualBrush: XpsVisualBrush = doc.create_visual_brush(visual_canvas,
21 aspose.pydrawing.RectangleF(0, 0, 10, 10), aspose.pydrawing.RectangleF(0, 0, 10, 10))
22grid_path.fill = visualBrush
23visualBrush.tile_mode = XpsTileMode.TILE
24# New canvas
25canvas = doc.add_canvas()
26canvas.render_transform = doc.create_matrix(1, 0, 0, 1, 268, 70)
27# Add a grid
28canvas.add_path(path_geometry)
29# Red transparent rectangle in the middle top
30path = canvas.add_path(doc.create_path_geometry("M 30,20 l 258.24,0 0,56.64 -258.24,0 Z"))
31path = canvas.add_path(doc.create_path_geometry("M 10,10 L 228,10 228,100 10,100"))
32path.fill = doc.create_solid_color_brush(doc.create_color(1.0, 0.0, 0.0))
33path.opacity = 0.7
34# Save the resultant XPS document
35doc.save(data_dir + "AddGrid_out.xps")
Weitere Informationen finden Sie unter „Arbeiten mit dem visuellen Pinsel in XPS-Dokumenten“ in .NET, Java und C++.
Das Ergebnis is next
Sie können Beispiele und Datendateien herunterladen von GitHub.