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

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

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

Процес повторення зображення всередині графічних об’єктів називається мозаїкою. Щоб установити малюнок або обведення в PsDocument, ми повинні передати об’єкт класу java.awt.Paint для малювання та об’єкт java.awt.Stroke для обведення у відповідні методи.

Бібліотека Aspose.Page для Java обробляє всі важливі класи, реалізовані java.awt.Paint, які пропонуються платформою Java. Це java.awt.Color, java.awt.TexturePaint, java.awt.LinearGradientPaint і java.awt.RadialGradientPaint. Колір обведення в Java призначається окремо від властивостей обведення в об’єкті java.awt.Stroke із повторним використанням java.awt.Paint. Таким чином, бібліотека Aspose.Page для Java також може використовувати повний набір реалізацій paint також для малювання ліній і окреслення форм і тексту.

Щоб намалювати графічні об’єкти текстурованим візерунком у бібліотеці Aspose.Page для Java, достатньо просто передати java.awt.TexturePaint у setPaint() або один із fillText( ) або fillAndStrokeText() методи, які приймають java.awt.Paint як параметр.

Щоб контурувати графічні об’єкти текстурованим візерунком у Aspose.Page для бібліотеки Java, ви повинні передати об’єкт java.awt.TexturePaint також у setPaint() або один із **outlineText() ** або fillAndStrokeText() методи, які приймають фарбу обведення як параметр.

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

Опис кроків роботи з Texture Pattern і PsDocument у прикладі:

  1. Створіть вихідний потік для отриманого файлу PS.
  2. Створіть об’єкт PsSaveOptions із параметрами за замовчуванням.
  3. Створіть 1-сторінковий PsDocument із уже створеним вихідним потоком і параметрами збереження.
  4. Створіть новий графічний стан і переведіть його в потрібне положення.
  5. Створіть java.awt.image.BufferedImage із файлу зображення.
  6. Створіть java.awt.TexturePaint із зображення.
  7. Встановіть необхідну трансформацію в пензлі текстури.
  8. Встановіть фарбу текстури як поточну фарбу в поточному графічному стані PsDocument.
  9. Створіть контур прямокутника.
  10. Заповніть прямокутник текстурною фарбою.
  11. Збережіть поточну фарбу як локальну змінну для майбутнього використання.
  12. Встановіть поточну фарбу червоним кольором.
  13. Встановити штрих шириною 2 точки java.awt.BasicStroke
  14. Окресліть прямокутник поточним штрихом.
  15. Вихід із поточного стану графіки до стану графіки верхнього рівня.
  16. Створіть системний шрифт.
  17. Заливка та обведення (контур) тексту. Для заповнення фактури використовується фарба, а для обведення використовується чорна ручка.
  18. Окресліть текст в іншій позиції за допомогою текстурної фарби та нового java.awt.BasicStroke.
  19. Закрийте сторінку.
  20. Збережіть документ.
 1//Create an output stream for PostScript document
 2FileOutputStream outPsStream = new FileOutputStream(dataDir + "AddTextureTilingPattern_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
 9document.writeGraphicsSave();
10document.translate(200, 100);
11
12//Create a BufferedImage object from image file
13BufferedImage image = ImageIO.read(new File(dataDir + "TestTexture.bmp"));
14
15//Create image area doubled in width
16Rectangle2D.Float imageArea = new Rectangle2D.Float(0, 0, image.getWidth() * 2, image.getHeight());
17//Create texture brush from the image
18TexturePaint paint = new TexturePaint(image, imageArea);
19
20//Create rectangle
21Rectangle2D.Float shape = new Rectangle2D.Float(0, 0, 200, 100);
22
23//Set this texture brush as current paint
24document.setPaint(paint);
25//Fill rectangle
26document.fill(shape);
27
28
29document.setPaint(Color.RED);
30document.setStroke(new BasicStroke(2));
31document.draw(shape);
32
33document.writeGraphicsRestore();
34
35//Fill the text with the texture pattern
36Font font = new Font("Arial", Font.BOLD, 96);
37document.fillAndStrokeText("ABC", font, 200, 300, paint, Color.BLACK, new BasicStroke(2));
38
39//Outline the text with the texture pattern
40document.outlineText("ABC", font, 200, 400, paint, new BasicStroke(5));
41
42//Close current page
43document.closePage();
44//Save the document
45document.save();

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

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

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

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

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.