203.50K

Графика в PostScript

1.

2 Графика в PostScript

2.

Язык PostScript был разработан для получения графических
изображений, для этого у него имеется большой набор операторов.
Рисование в PostScript начинается с конструирования пути на идеальной
поверхности, называемой текущей страницей.
Путь - набор прямых и кривых линий, определяющих область, которая
будет заполнена, или траекторию, которая будет нарисована на текущей
странице.
Конструируя путь, необходимо решить, что с ним делать: мы можем
нарисовать линию заданной толщины или заполнить его как контур, чтобы
создать непрерывное изображение.
После того, как заполнение текущей страницы закончено, ее можно
распечатать на физическом листе бумаги.

3.

2.1 Основы построения изображения
Y
(594, 840)
Текущая страница
Построение дуги arc
Текущий путь newpath
Смещение текущей
точки rmoveto
Построение отрезка
rlineto
Начало отсчета moveto
(0, 0)
X

4.

2.2 Графические операторы
Программа может содержать несколько блоков графических
операторов. Блок графических операторов называется путь. Внутри
блока могут действовать свои графические параметры, действие которых
может распространяться, а может и не распространяться за пределы
блока.
Смещение начала координат
При открытии страницы начало координат находится в левом нижнем
углу. Оператор translate смещает начало координат в указанную точку:
X Y translate
После выполнения этого оператора начало координат сместится в точку
(X,Y).
Поворот координат
Оператор rotate поворачивает систему координат на произвольный
угол :
90 rotate
на 90 градусов против часовой стрелки.
-90 rotate
на 90 градусов по часовой стрелке.

5.

Начало нового пути
Графические построения состоят из нескольких этапов:
- инициализация нового графического пути;
- построение графического пути с помощью графических операторов;
- определение типа линии;
- прорисовка линии вдоль построенного пути.
Оператор newpath начинает новый путь.
Завершение пути
После построения пути вдоль него может быть проведена линия. Это
осуществляет оператор stroke.
Путь, кроме того, можно "закрыть", при этом от текущей точки до
первой определенной в пути точки проводится прямая линия. "Закрывает"
путь оператор closepath.

6.

Построение прямой линии
X Y lineto – линия из текущей точки в точку (X, Y)
ΔX ΔY rlineto - линия из текущей точки в точку, смещенную от текущей
на (ΔX, ΔY)
PostScript позволяет регулировать толщину линии (setlinewidth), ее
"пунктирность" (setdash), "серость" (setgray), "круглохвостость"
(setlinecap) и пр.
[4 5] 0 setdash
установить тип линии "пунктир", 4 пункта линия, 5 пунктов пропуск,
смещение - 0.
1.5 setlinewidth
установить толщину линии в 1,5 пункта.
1 setlinecap
установить "скругление" хвостиков линий.

7.

Построение дуги окружности
Дуга окружности строится оператором arc:
x0 y0 R a1 a2 arc
x0 y0 - координаты центра окружности;
R - радиус окружности;
a1 a2 - начальный и конечный угол дуги окружности (0..360).
Угол 0 совпадает с положительным направлением оси OX. Построение
ведется против часовой стрелки.
Особенность оператора: если текущая точка пути определена, то от
нее до начальной точки дуги проводится прямая линия!
Пример: файл Графические операторы.ps

8.

Построение кривых Безье
Кубические кривые Безье строятся при помощи оператора curveto.
Используется текущая точка и 3 дополнительные точки,
местоположение которых определяет кривизну кривой.
X0 Y0 moveto
X1 Y1 X2 Y2 X3 Y3 curveto
Пример: файлы БезьеХХ.ps

9.

Сохранение и восстановление состояния графики
Оператор gsave сохраняет копию текущего состояния графики в стеке
состояния графики. Этот стек может хранить до 32-х состояний графики,
включая текущее состояние.
Оператор grestore восстанавливает состояние графики, сохраненное в стеке
самым последним. Все характеристики текущего графического состояния,
включая текущий путь, свойства линий и систему пользовательских
координат, возвращаются в состояние, в котором они были перед
выполнением оператора gsave.
English     Русский Правила