Робота з шаблонами штрихування у файлі PS | Java

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

Візерунок штрихування — це текстурний мозаїчний візерунок, зазвичай представлений маленьким двокольоровим (зазвичай чорно-білим) простим зображенням. Основним змістом цих невеликих зображень є різні штрихування.

Платформа Java не має окремого класу для малювання фігур і тексту штрихуванням. Однак Aspose.Page для бібліотеки Java пропонує Клас com.aspose.eps.HatchPaintLibrary, який дає можливість створювати java.awt.TexturePaint, заповнений штрихуваннями, визначеними одним із 55 стилів, запропонованих com.aspose.eps.HatchStyle.

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

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

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

Алгоритм розмальовування графічних об’єктів шаблоном штрихування в новому документі PS включає такі кроки:

  1. Створіть вихідний потік для отриманого файлу PS.
  2. Створіть PsSaveOptions.
  3. Створіть PsDocument із уже створеним вихідним потоком і параметрами збереження.
  4. Створіть фігуру або шрифт залежно від того, який об’єкт ми збираємося заповнити або окреслити.
  5. Створіть за допомогою com.aspose.eps.HatchPaintLibrary об’єкт java.awt.TexturePaint із бажаним стилем.
  6. Встановіть фарбу штрихування як поточну фарбу в PsDocument
  7. Заповніть форму поточною фарбою або заповніть текст. Якщо ми використовуємо один із методів заповнення тексту, який приймає java.awt.Paint як параметр, попередній пункт можна проігнорувати.
  8. Закрийте сторінку.
  9. Збережіть документ.

Якщо нам потрібно штрихування (контур) графічних об’єктів із шаблоном штрихування замість останніх 4 пунктів, наступним буде:

  1. Установіть фарбу штрихування як поточну фарбу в PsDocument.

  2. Створіть об’єкт java.awt.BasicStroke.

  3. Установіть цей штрих як поточний штрих у PsDocument.

  4. Окресліть фігуру поточною фарбою та обведіть або обведіть текст. Якщо ми використовуємо один із методів для виділення тексту, який приймає java.awt.Stroke як параметр, попередній пункт можна проігнорувати.

  5. Закрийте сторінку.

  6. Збережіть документ.

 1  // Demonstrates all embedded hatch patterns that can be used to paint or outline shapes or text in PS document.
 2
 3  String outputFileName = "AddHatchPattern_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  int x0 = 20;
12  int y0 = 100;
13  int squareSide = 32;
14  int width = 500;
15  int sumX = 0;
16
17//Restore graphics state
18  document.writeGraphicsSave();
19
20  //Translate to initial point
21  document.translate(x0, y0);
22  
23  //Create a square for every pattern
24  Rectangle2D.Float square = new Rectangle2D.Float(0, 0, squareSide, squareSide);
25  
26  //Create pen for outlining pattern square
27  BasicStroke stroke = new BasicStroke(2);
28  
29  HatchStyle [] hatchStyles = HatchStyle.values();
30  
31  //For every hatch pattern style 
32  for (int i = 0; i < hatchStyles.length; i++) {            
33  	//Create a hatch texture pattern by hatch style, foreground and background colors
34  	TexturePaint paint = HatchPaintLibrary.getHatchTexturePaint(hatchStyles[i], Color.BLACK, Color.WHITE);
35  	//Set paint with the current hatch pattern
36      document.setPaint(paint);
37
38      //Calculate a displacement in order to don't go beyond the page bounds
39      int x = squareSide;
40      int y = 0;
41      if (sumX >= width) {
42          x = -(sumX - squareSide);
43          y += squareSide;
44      }
45
46      //Translate current graphics state
47      document.translate(x, y);
48      //Fill pattern square
49      document.fill(square);
50
51      //Set current paint
52      document.setPaint(Color.BLACK);
53      //Set current stroke
54      document.setStroke(stroke);
55      //Draw square outline
56      document.draw(square);
57
58      //Calculate distance from X0
59      if (sumX >= width)
60          sumX = squareSide;
61      else
62          sumX += x;
63  }
64  
65  //Restore graphics state
66  document.writeGraphicsRestore();
67  
68  //Fill a text with the hatch pattern
69  TexturePaint paint = HatchPaintLibrary.getHatchTexturePaint(HatchStyle.DiagonalCross, Color.RED, Color.YELLOW);
70  Font font = new Font("Arial", Font.BOLD, 96);
71  document.fillAndStrokeText("ABC", font, 200, 320, paint, Color.BLACK, stroke);
72
73  //Outline the text with the hatch pattern
74  paint = HatchPaintLibrary.getHatchTexturePaint(HatchStyle.Percent70, Color.BLUE, Color.WHITE);
75  document.outlineText("ABC", font, 200, 420, paint, new BasicStroke(5));
76
77  //Close current page
78  document.closePage();
79
80  //Save the document
81  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.