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

Добавить фигуры в документ PS

Добавить прямоугольник в PS

Чтобы добавить прямоугольник в PsDocument с помощью библиотеки Aspose.Page для .NET, нам необходимо выполнить следующие шаги:

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

Если нам нужно обвести (обвести) прямоугольник, то первые 4 и последние 2 шага будут одинаковыми, но точки 5 и 6 будут:

  1. Установите обводку в соответствии с текущим графическим состоянием PsDocument.

  2. Обведите (обведите) прямоугольник.

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

Для Linux, MacOS и других операционных систем, отличных от Windows, мы предлагаем использовать наш пакет Nuget Aspose.Page.Drawing. Он использует серверную часть Aspose.Drawing вместо системной библиотеки System.Drawing.

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

См. работу с фигурами в документах PS в Java.


Результат запуска этого кода выглядит так:

Добавить прямоугольник

Добавить Эллипс в PS

Чтобы добавить эллипс в PsDocument также необходимо выполнить 8 шагов:

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

Если нам нужно обвести (обвести) эллипс, первые 4 и последние 2 шага будут одинаковыми, но точки 5 и 6 будут:

  1. Установите для штриха текущее графическое состояние PsDocument.
  2. Stroke (outline) the ellipse path.
 1// Add ellipse to PS document.
 2
 3string outputFileName = "AddEllipse_outPS.ps";
 4
 5//Create save options with A4 size
 6PsSaveOptions options = new PsSaveOptions();
 7
 8// Create new 1-paged PS Document
 9PsDocument document = new PsDocument(OutputDir + outputFileName, options, false);
10
11//Create graphics path from the first ellipse
12GraphicsPath path = new GraphicsPath();
13path.AddEllipse(new RectangleF(250, 100, 150, 100));
14//Set paint
15document.SetPaint(new SolidBrush(Color.Orange));
16//Fill the ellipse
17document.Fill(path);
18
19//Create graphics path from the second ellipse
20path = new GraphicsPath();
21path.AddEllipse(new RectangleF(250, 300, 150, 100));
22//Set stroke
23document.SetStroke(new Pen(new SolidBrush(Color.Red), 3));
24//Stroke (outline) the ellipse
25document.Draw(path);
26
27//Close current page
28document.ClosePage();
29
30//Save the document
31document.Save();
Example-AddEllipsePS.cs hosted with ❤ by GitHub

Результат запуска этого кода выглядит так:

Добавить эллипс

Как мы видим, любая фигура, как закрытая, так и незамкнутая, которую можно поместить в System.Drawing.Drawing2D.GraphicsPath, можно заполнить или нарисовать с помощью PsDocument. Его тоже можно обрезать, но это будет описано в другой статье.

Вы можете загрузить примеры и файлы данных с сайта GitHub.

Have any questions about Aspose.Page?



Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.