Робота з Visual Brush у файлі XPS | Python

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

Говорячи більш технічними термінами, візуальний пензель — це тип пензля, який посилається на візуальний об’єкт, наприклад зображення або елемент інтерфейсу користувача, і використовує цей об’єкт для визначення зовнішнього вигляду форми або контуру. При застосуванні до фігури візуальний пензель відтворює візуальний об’єкт, на який посилається, у межах фігури. Їх можна використовувати для заповнення форми зображенням, створення візерунків або текстур або навіть застосування складних графічних ефектів.

Додайте сітку за допомогою Visual Brush

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 і 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.