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


Траектория отсечения - часть 13


Правило чётный-нечётный отличается от предыдущего тем, что подсчитывается просто число пересечений лучом сегментов траектории. Если число чётное, точка внутри области. Если нечётное – внешняя.

Для простых фигур результат применения каждого из правил совпадает. Различие проявляется на более сложных фигурах.

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

(Замечу, что страница целиком очищается с помощью не имеющего аргументов оператора erasepage, который закрашивает её серым цветом уровня 1, не изменяя состояния графической среды. Этот оператор выполняется также автоматически после оператора showpage.)

Синтаксис: - fill à

-

Перед рисованием fill явным образом закрывает любые открытые подпути текущей траектории. Для её сохранения следует использовать последовательность операторов gsave fill grestore.

Для заливки области по правилу чётный-нечётный используется оператор eofill. В остальном он полностью идентичен оператору fill.

Задание. Чтобы почувствовать разницу между двумя этими правилами, нарисуйте с помощью PostScript две одинаковых пятиугольных звезды (не убирая внутренние линии) и заполните их внутренние области с помощью операторов fill и eofill соответственно.

Для того, чтобы поместить графическое изображение на страницу, используется оператор image.

Синтаксис:

ширина высота бит/точка матрица процедура image à -

Изображение помещается в прямоугольную область размером ширина на высоту точек, каждая из которых представлена значением из бит/точка данных (1, 2, 4 или 8 битов на точку). Данные изображения считываются как последовательность символов, причём, если точка кодируется менее 8 битами, то данные упакованы в байте слева направо.

Изображение на странице имеет свою собственную систему координат, за начало которой (0,0) принят нижний левый угол прямоугольной области изображения, а верхний правый угол имеет координаты (ширина, высота). Операнд матрица задаёт преобразование из пространства пользователя в систему координат изображения.




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