Робота з текстурами в PS файлі | Python

Додайте шаблон розбиття текстури в документ PS

Шаблон мозаїки текстури відноситься до зображення, яке використовується для заповнення або малювання об’єктів, таких як форми або текст. Якщо розмір зображення менший за розмір об’єкта, воно повторюється в обох напрямках X і Y, щоб належним чином покрити необхідні області.

Таке повторення зображення в графічних об’єктах називається тайлінгом. Щоб установити фарбу або обведення в PsDocument, необхідно надати об’єкт класу aspose.pydrawing.Brush для малювання та об’єкт класу aspose.pydrawing.Pen для обведення. у своїх відповідних методах.

Aspose.Page для Python через бібліотеку .NET обробляє всі важливі класи, реалізовані aspose.pydrawing.Brush, які пропонуються платформою Python. Це aspose.pydrawing.Color, aspose.pydrawing.TextureBrush, aspose.pydrawing.drawing2d.LinearGradientBrush і aspose.pydrawing.drawing2d.PathGradientBrush. Колір обведення в Python призначається окремо від властивостей обведення в об’єкті aspose.pydrawing.Pen із повторним використанням aspose.pydrawing.Brush. Таким чином, Aspose.Page для Python через бібліотеку .NET також може використовувати повний набір реалізацій paint для малювання ліній і окреслення фігур і тексту.

Щоб намалювати графічні об’єкти текстурованим візерунком у Aspose.Page для Python через бібліотеку .NET, достатньо просто передати aspose.pydrawing.TextureBrush у set_paint() або один із методи fill_text() або fill_and_stroke_text(), які приймають aspose.pydrawing.Brush як параметр.

Щоб контурувати графічні об’єкти текстурованим візерунком, ви повинні передати об’єкт aspose.pydrawing.TextureBrush також у set_paint() або один із outline_text() або ** fill_and_stroke_text()** методи, які приймають фарбу обведення як параметр.

У наведеному нижче прикладі ми демонструємо, як заповнити фігуру та текст, а також окреслити текст шаблоном плитки текстури.

Ось опис кроків роботи з Texture Pattern і PsDocument:

  1. Створіть вихідний потік для отриманого файлу PS.
  2. Ініціюйте об’єкт PsSaveOptions із параметрами за замовчуванням.
  3. Створіть 1-сторінковий PsDocument із уже створеним вихідним потоком і параметрами збереження.
  4. Створіть новий графічний стан і переведіть його в потрібне положення.
  5. Створіть aspose.pydrawing.Bitmap із файлу зображення.
  6. Створіть aspose.pydrawing.TextureBrush із зображення.
  7. Встановіть необхідну трансформацію в пензлі текстури.
  8. Встановіть фарбу текстури як поточну фарбу в поточному графічному стані PsDocument.
  9. Створіть контур прямокутника.
  10. Заповніть прямокутник текстурною фарбою.
  11. Збережіть поточний малюнок як локальну змінну для майбутнього використання.
  12. Встановіть поточну фарбу червоним кольором.
  13. Встановіть штрих шириною 2 точки aspose.pydrawing.Pen
  14. Окресліть прямокутник поточним штрихом.
  15. Вихід із поточного стану графіки до стану графіки верхнього рівня.
  16. Створіть системний шрифт.
  17. Заливка та обведення (контур) тексту. Для заповнення фактури використовується фарба, а для обведення використовується чорна ручка.
  18. Наведіть контур тексту в іншій позиції текстурною фарбою та новим aspose.pydrawing.Pen.
  19. Закрийте сторінку.
  20. Збережіть документ.
 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()

Дивіться роботу з текстурами в документах PS у .NET, Java.

Результатом виконання цього коду є

Додати шаблон плитки текстури

Ви можете завантажити приклади і файли даних з GitHub.

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.