Робота із зображеннями у файлі PS | Python
Додайте зображення в документ PS
Aspose.Page для Python через бібліотеку .NET пропонує два підходи для включення зображень у документ PS:
- для непрозорих зображень;
- для прозорих зображень;
Ця різниця виникає через те, що PostScript за своєю суттю не підтримує прозорість. Проте напівпрозорі зображення можуть бути представлені як комбінація повністю прозорих і повністю непрозорих пікселів, відомих як маски. Додаючи напівпрозоре зображення до документа PS, важливо виконати перевірку та попередню обробку, щоб забезпечити точне відображення прозорості. Цей процес потребує додаткового часу. Тому, якщо відомо, що зображення повністю непрозоре, ефективніше використовувати перший метод, щоб заощадити час виконання.
Другий метод автоматично визначає, чи є зображення повністю непрозорим, повністю прозорим чи напівпрозорим. Якщо зображення повністю непрозоре, воно додається першим способом. Якщо він повністю прозорий, він взагалі виключається з документа. Для напівпрозорих зображень вони додаються як маски зображень PostScript.
Наведений нижче приклад демонструє, як додати повністю непрозоре зображення. Додавання прозорого зображення буде проілюстровано в статті «Робота з прозорістю».
Щоб додати зображення до нового PsDocument за допомогою Aspose.Page для Python через бібліотеку .NET, виконайте такі дії, описані в прикладі:
- Налаштуйте вихідний потік для отриманого файлу PS.
- Створіть об’єкт PsSaveOptions із параметрами за замовчуванням.
- Створіть односторінковий PsDocument, використовуючи вихідний потік і параметри збереження.
- Створіть новий графічний стан.
- Створіть aspose.pydrawing.Bitmap із файлу зображення.
- Створіть необхідну трансформацію для зображення.
- Додайте зображення до об’єкта PsDocument.
- Вихід із поточного стану графіки на верхній рівень.
- Закрийте сторінку.
- Збережіть документ.
1# The path to the documents directory.
2data_dir = Util.get_data_dir_working_with_images()
3
4# Create an output stream for the PostScript document
5with open(data_dir + "AddImage_outPS.ps", "wb") as out_ps_stream:
6 # Create the save options with 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(100, 100)
15
16 # Create a Bitmap object from the image file
17 with aspose.pydrawing.Bitmap(data_dir + "TestImage Format24bppRgb.jpg") as image:
18 # Create an image transform
19 transform = aspose.pydrawing.drawing2d.Matrix()
20 transform.translate(float(35), float(300))
21 transform.scale(float(3), float(3))
22 transform.rotate(float(-45))
23
24 # Add the image to the document
25 document.draw_image(image, transform, aspose.pydrawing.Color())
26
27 document.write_graphics_restore()
28
29 # Close the current page
30 document.close_page()
31
32 # Save the document
33 document.save()
Результатом виконання цього коду є
Ви можете завантажити приклади і файли даних з GitHub.