Работа с Visual Brush в файле XPS | Питон

Визуальная кисть — мощный инструмент для создания визуально привлекательных и динамичных дизайнов в контексте графического дизайна и разработки программного обеспечения. Они используются для заполнения или обводки фигур визуальным содержимым, таким как изображения, градиенты или другие графические элементы, позволяющие рисовать один визуальный элемент другим.

Говоря более техническим языком, визуальная кисть — это тип кисти, которая ссылается на визуальный объект, например изображение или элемент пользовательского интерфейса, и использует этот объект для определения внешнего вида фигуры или пути. При применении к фигуре визуальная кисть визуализирует указанный визуальный объект в границах фигуры. Их можно использовать для заполнения формы изображением, создания узоров или текстур или даже применения сложных графических эффектов.

Добавьте сетку с помощью визуальной кисти

Aspose.Page для Python через .NET предоставляет класс XpsVisualBrush, позволяющий добавлять сетку в документ XPS. Для этого необходимо указать XpsPathGeometry и добавить XpsCanvas к объекту класса XpsDocument. Следующий фрагмент кода демонстрирует полную функциональность добавления сетки в документ XPS:

 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")

См. работу с визуальной кистью в документах XPS в .NET, Java и C++.

Результат is next

Добавить сетку

Вы можете загрузить примеры и файлы данных с сайта GitHub.

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.