Семь уроков по PostScript


Начала графики - часть 2


Оператор stroke вызывает рисование сконструированного нами пути на текущей странице. Теперь этот путь становится видимой линией.

И, наконец, оператор showpage печатает текущую страницу (отправляет ее на печать).

Таким образом можно выделить 3 этапа построения:

1) Конструирование пути (newpath, moveto, lineto);

2) нанесение его на текущую страницу (stroke);

3) вывод текущей страницы (showpage).

 

Задание: Написать программу, которая строит квадрат со стороной 1 дюйм.

 

 

Занятие второе

 

Перед тем как продолжить рассмотрение основ языка, замечу, что для отладки программ на PostScript удобно использовать программу RIP, хотя она и работает под DOS. Так как в разных моделях принтеров реализованы различные версии этого языка, то при выводе PostScript-программы на реальный принтер посмотрите его документацию. В частности иногда перед текстом примера следует поставить знак процента, за которым следует восклицательный знак, т. е. %!. Эта комбинация символов переключает на PostScript принтер, понимающий разные языки описания страниц (обычно ещё имеется PCL5).

Итак, продолжим рассмотрение команд перемещения. Как и в других языках описания страниц в PostScript имеется возможность задавать перемещение не в абсолютных координатах, а в приращениях относительно текущей точки. Для этого служат операторы rmoveto и rlineto. Пример из первого занятия можно записать так:

newpath

 144 72 rmoveto

 0 360 rlineto

stroke

showpage

Следующие две строки

144 432 moveto

    -216 rlineto

перемещают текущую точку вверх над сегментом первой линии и добавляют к траектории сегмент линии, проводя ее вертикально вниз (обратите внимание на отрицательный аргумент у) на 216 единиц от текущей точки.

Задание: Напишите программу, рисующую две пересекающиеся прямые (в этом случае текущий путь не будет последовательным). 

Траектория не обязательно должна быть единым связанным друг с другом куском. Она может содержать на текущей странице любой набор прямых линий и кривых.




- Начало -  - Назад -  - Вперед -