Робота з текстурами в 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  // Paint rectangle and text and outline text with tiled image (texture pattern) in PS document.
 2
 3  String outputFileName = "AddTextureTilingPattern_outPS.ps";
 4
 5  //Create save options with A4 size
 6  PsSaveOptions options = new PsSaveOptions();
 7
 8  // Create new 1-paged PS Document
 9  PsDocument document = new PsDocument(getOutputDir() + outputFileName, options, false);
10
11  document.writeGraphicsSave();
12  document.translate(200, 100);
13
14//Create a BufferedImage object from image file
15  BufferedImage image = ImageIO.read(new File(getDataDir() + "TestTexture.bmp"));
16  
17  //Create image area doubled in width
18  Rectangle2D.Float imageArea = new Rectangle2D.Float(0, 0, image.getWidth() * 2, image.getHeight());
19  //Create texture brush from the image
20  TexturePaint paint = new TexturePaint(image, imageArea);
21  
22  //Create rectangle
23  Rectangle2D.Float shape = new Rectangle2D.Float(0, 0, 200, 100);
24  
25  //Set this texture brush as current paint
26  document.setPaint(paint);
27  //Fill rectangle
28  document.fill(shape);
29  
30  
31  document.setPaint(Color.RED);
32  document.setStroke(new BasicStroke(2));
33  document.draw(shape);
34  
35  document.writeGraphicsRestore();
36  
37  //Fill the text with the texture pattern
38  Font font = new Font("Arial", Font.BOLD, 96);
39  document.fillAndStrokeText("ABC", font, 200, 300, paint, Color.BLACK, new BasicStroke(2));
40
41  //Outline the text with the texture pattern
42  document.outlineText("ABC", font, 200, 400, paint, new BasicStroke(5));
43
44  //Close current page
45  document.closePage();
46
47  //Save the document
48  document.save();

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

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

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

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

Have any questions about Aspose.Page?



Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.