Робота із зображеннями у файлі PS | Java
Додайте зображення в документ PS
Бібліотека Aspose.Page для Java пропонує два методи додавання зображень до документа PS:
- для непрозорих зображень;
- для прозорих зображень;
Це було зроблено тому, що PostScript не підтримує прозорість, але напівпрозорі зображення, однак, можна візуалізувати як набір повністю прозорих і повністю непрозорих пікселів. Такі зображення називаються масками.
Якщо ми хочемо бачити напівпрозоре зображення в документі PS як маску, яка краще відображатиме прозорість зображення, ми повинні виконати деяку перевірку та попередню обробку такого зображення. Перевірка та попередня обробка вимагають часу. Тому, якщо хтось впевнений, що зображення повністю непрозоре, краще використовувати перший спосіб, оскільки він економить час виконання.
Другий метод визначає, чи є зображення повністю непрозорим, повністю прозорим чи напівпрозорим. Якщо воно повністю непрозоре, воно додається як непрозоре зображення в першому методі, якщо воно повністю прозоре, воно взагалі не додається до документа, якщо це напівпрозоре зображення, воно додається як маска зображення PostScript.
У прикладі нижче ми демонструємо, як додати повністю непрозоре зображення. Додавання прозорого зображення буде продемонстровано в статті «Робота з прозорістю».
Щоб додати зображення до нового PsDocument за допомогою Aspose.Page для бібліотеки Java у цьому прикладі, ми виконуємо такі дії:
- Створіть вихідний потік для отриманого файлу PS.
- Створіть об’єкт PsSaveOptions із параметрами за замовчуванням.
- Створіть 1-сторінковий PsDocument із уже створеним вихідним потоком і параметрами збереження.
- Створіть новий графічний стан.
- Створіть java.awt.image.BufferedImage із файлу зображення.
- Створіть необхідну трансформацію для зображення.
- Додайте зображення до об’єкта PsDocument.
- Вихід із поточного стану графіки на верхній рівень.
- Закрийте сторінку.
- Збережіть документ.
1//Create an output stream for PostScript document
2FileOutputStream outPsStream = new FileOutputStream(dataDir + "AddImage_outPS.ps");
3//Create save options with A4 size
4PsSaveOptions options = new PsSaveOptions();
5
6//Create new PS Document with the page opened
7PsDocument document = new PsDocument(outPsStream, options, false);
8
9
10document.writeGraphicsSave();
11document.translate(100, 100);
12
13//Create a BufferedImage object from image file
14BufferedImage image = ImageIO.read(new File(dataDir + "TestImage Format24bppRgb.jpg"));
15
16//Create image transform
17AffineTransform transform = new AffineTransform();
18transform.translate(35, 300);
19transform.scale(3, 3);
20transform.rotate(-45);
21
22//Add image to document
23document.drawImage(image, transform, null);
24
25document.writeGraphicsRestore();
26
27//Close current page
28document.closePage();
29//Save the document
30document.save();
Дивіться роботу з зображеннями в документах PS у .NET.
Результат виконання цього коду виглядає як
Ви можете завантажити приклади і файли даних з GitHub.