Работа с графическими состояниями (graphics states) в PS
Обрезка (clip) и преобразование (transform) графических состояний PS-файлов с помощью C++ API
В PostScript графическое состояние (graphic state) — это набор атрибутов, определяющих способ отрисовки графики на странице и позволяющих создавать сложные и разнообразные графические изображения с помощью единого набора команд. Сохраняя и восстанавливая графические состояния, можно избежать избыточных операций. Кроме того, можно определять многократно используемые графические стили и применять их к различным частям документа. Графическое состояние включает такие настройки, как:
- Толщина линий (ширина линии / line width).
- Форма концов линий (круглая, квадратная или плоская / butt).
- Форма стыков между линиями (угловая / miter, круглая / round или скошенная / bevel).
- Цвет линий и заливок (RGB, CMYK или оттенки серого).
- Шрифт, используемый для текста, и его размер.
- Матрица, используемая для преобразования координат (масштабирование, вращение, сдвиг).
Управление графическими состояниями в PS-документах (аналог canvas в XPS) является одной из основных функций Aspose.Page для C++.
Для преобразования (transform) графических состояний PS-файла следуйте следующему руководству:
- Создайте PS-файл с помощью класса PsDocument .
- Создайте графический путь в виде прямоугольника.
- Сохраните текущее графическое состояние, создайте новое и установите его как текущее с помощью WriteGraphicsSave() Метода.
- Переместите текущее графическое состояние с помощью Translate() Метода.
- Установите цвет заливки в текущем графическом состоянии с помощью SetPaint() Метода.
- Заполните графический путь с помощью Fill() метода.
- Восстановите предыдущее графическое состояние с помощью WriteGraphicsRestore Метода.
- Повторите шаги 3–7 для добавления дополнительных графических состояний с другими преобразованиями, используя Методы Scale() , Rotate() , Shear() и Transform() .
- Закройте текущую страницу с помощью ClosePage() метода.
- Сохраните созданный PS-документ с помощью PsDocument.Save() Метода.
Преобразование графических состояний (Transform graphics states) в PS
Для добавления Клипов (Clips) к графическому состоянию PS-файла следуйте следующему руководству:
- Создайте PS-файл с помощью класса PsDocument .
- Создайте графический путь в виде прямоугольника.
- Сохраните текущее графическое состояние, создайте новое и установите его как текущее с помощью WriteGraphicsSave() Метода.
- Переместите текущее графическое состояние с помощью Translate() Метода.
- Создайте графический путь в виде окружности.
- Добавьте круговую обрезку (clip) к текущему графическому состоянию с помощью Clip() Метода.
- Установите цвет заливки в текущем графическом состоянии с помощью SetPaint() Метода.
- Заполните прямоугольный графический путь с помощью Fill() Метода.
- Восстановите предыдущее графическое состояние с помощью WriteGraphicsRestore() Метода.
- Переместите текущее графическое состояние с помощью Translate() Метода.
- Создайте объект System.Drawing.Pen.
- Установите обводку (stroke) в текущем графическом состоянии с помощью SetStroke() Метода.
- Нарисуйте прямоугольный графический путь поверх обрезанного прямоугольника с помощью Draw() Метода.
- Закройте текущую страницу с помощью ClosePage() Метода.
- Сохраните созданный PS-документ с помощью PsDocument.Save() Метода.
Добавление Клипа к графическому состоянию PS
PS Формат файла PS
PS (PostScript) — язык описания страниц, объединяющий текст и графику в один файл. Широко поддерживается графическими редакторами и принтерами, содержит инструкции для рендеринга страницы.