Робота з фігурами в PostScript | .NET

Додайте фігури в документ PS

Додайте прямокутник до PS

Щоб додати прямокутник до PsDocument за допомогою бібліотеки Aspose.Page для .NET, нам слід виконати такі дії:

  1. Створіть вихідний потік для отриманого файлу PS.
  2. Створіть об’єкт PsSaveOptions із параметрами за замовчуванням.
  3. Створіть 1-сторінковий PsDocument із уже створеним вихідним потоком і параметрами збереження.
  4. Створіть прямокутник System.Drawing.Drawing2D.GraphicsPath з прямокутника.
  5. Установіть фарбу для поточного стану графіки PsDocument.
  6. Заповніть контур прямокутника.
  7. Закрийте сторінку.
  8. Збережіть документ.

Якщо нам потрібно обвести (контур) прямокутник, перші 4 і останні 2 кроки будуть однаковими, але пункти 5 і 6 будуть такими:

  1. Встановіть штрих на поточний графічний стан PsDocument.

  2. Обведіть контур прямокутника.

 1//Create an output stream for PostScript document
 2using (Stream outPsStream = new FileStream(dataDir + "AddRectangle_outPS.ps", FileMode.Create))
 3{
 4    //Create save options with A4 size
 5    PsSaveOptions options = new PsSaveOptions();
 6
 7    // Create new 1-paged PS Document
 8    PsDocument document = new PsDocument(outPsStream, options, false);
 9
10    //Create graphics path from the first rectangle
11    GraphicsPath path = new GraphicsPath();
12    path.AddRectangle(new RectangleF(250, 100, 150, 100));
13    //Set paint
14    document.SetPaint(new SolidBrush(Color.Orange));
15    //Fill the rectangle
16    document.Fill(path);
17
18    //Create graphics path from the second rectangle
19    path = new GraphicsPath();
20    path.AddRectangle(new RectangleF(250, 300, 150, 100));
21    //Set stroke
22    document.SetStroke(new Pen(new SolidBrush(Color.Red), 3));
23    //Stroke (outline) the rectangle
24    document.Draw(path);
25
26    //Close current page
27    document.ClosePage();
28
29    //Save the document
30    document.Save();
31}

Для Linux, MacOS та інших операційних систем, відмінних від Windows, ми пропонуємо використовувати наш пакет Nuget Aspose.Page.Drawing. Він використовує бекенд Aspose.Drawing замість системної бібліотеки System.Drawing.

Тому імпортуйте простір імен Aspose.Page.Drawing замість System.Drawing. У наведеному вище та наступному фрагментах коду Aspose.Page.Drawing.Rectangle використовуватиметься замість System.Drawing.Rectangle, Aspose.Page.Drawing.Drawing2D.GraphicsPath використовуватиметься замість System.Drawing.Drawing2D.GraphicsPath тощо. . Наші приклади коду на GitHub містять усі необхідні заміни.

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


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

Додати прямокутник

Додайте Ellipse до PS

Щоб додати еліпс до PsDocument, також потрібно виконати 8 кроків:

  1. Створіть вихідний потік для отриманого файлу PS.
  2. Створіть об’єкт PsSaveOptions із параметрами за замовчуванням.
  3. Створіть 1-сторінковий PsDocument із уже створеним вихідним потоком і параметрами збереження.
  4. Створіть еліпс System.Drawing.Drawing2D.GraphicsPath із прямокутника.
  5. Встановіть малюнок до поточного стану графіки PsDocument.
  6. Заповніть контур еліпса.
  7. Закрийте сторінку.
  8. Збережіть документ.

Якщо нам потрібно обвести (обвести контур) еліпс, перші 4 і останні 2 кроки будуть однаковими, але пункти 5 і 6 будуть такими:

  1. Установіть штрих на поточний графічний стан PsDocument.

  2. Stroke (outline) the ellipse path.

 1//Create an output stream for PostScript document
 2using (Stream outPsStream = new FileStream(dataDir + "AddEllipse_outPS.ps", FileMode.Create))
 3{
 4    //Create save options with A4 size
 5    PsSaveOptions options = new PsSaveOptions();
 6
 7    // Create new 1-paged PS Document
 8    PsDocument document = new PsDocument(outPsStream, options, false);
 9
10    //Create graphics path from the first ellipse
11    GraphicsPath path = new GraphicsPath();
12    path.AddEllipse(new RectangleF(250, 100, 150, 100));
13    //Set paint
14    document.SetPaint(new SolidBrush(Color.Orange));
15    //Fill the ellipse
16    document.Fill(path);
17
18    //Create graphics path from the second ellipse
19    path = new SystemGraphicsPath();
20    path.AddEllipse(new RectangleF(250, 300, 150, 100));
21    //Set stroke
22    document.SetStroke(new Pen(new SolidBrush(Color.Red), 3));
23    //Stroke (outline) the ellipse
24    document.Draw(path);
25
26    //Close current page
27    document.ClosePage();
28
29    //Save the document
30    document.Save();
31}

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

Додати еліпс

Як ми бачимо, будь-яку форму, як закриту, так і незамкнену, яку можна помістити в System.Drawing.Drawing2D.GraphicsPath, можна заповнити або намалювати PsDocument. Його також можна обрізати, але це буде описано в іншій статті.

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

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.