Render.ru

EPS

#1
Здравствуйте!
Помогите разобратся что означают следующие строки из EPS файла, использующиеся для описания объекта:

@rax %Note: Object
111.87213 644.31609 205.58466 732.90756 @E
0 J 0 j [] 0 d 0 R 0 @G // - какую информацию несет эта строка?
0.00 0.00 0.00 1.00 K
0 2.26772 2.26772 0.00000 @w
/$fm 0 def
158.84731 732.90756 m
138.12009 711.66217 L // В чем различие между большими и маленькими буквами L и l, С и с?

Подскажите, кто знает!
 
#2
>> 0 J 0 j [] 0 d 0 R 0 @G // - какую информацию несет эта строка?

J — синоним setlinecap,— устанавливает форму концов линии. С параметром «0» устанавливает Butt cap, т.е. «обрубленные» концы, не выступающие за крайние вершины. В свойствах Outline Pen (в CorelDRAW) это верхний из трех line caps;

j — синоним setlinejoin,— устанавливает форму «колена» линии. В данном случае с параметром «0» (обратная запись! параметры перед команой!) устанавливает Miter Join: в Outline Pen это верхний из трех corners;

d — cиноним setdash,— задает шаблон (pattern) штриховой (dashed) линии. Пустой массив длин штрихов — пустые квадратные скобки [], задают сплошную линию. Параметр 0 — смещение штрихов относительно начала линии в данном случае не имеет значения.

R — синоним следующей последовательности команд /$O exch def, т.е. устанавливает значение ключевого слова $O равным занчению с вершины стека операдов перед вызовом R, т.е. в данном случае нулю.

@G — синоним следующей последовательности:

1 eg % сравнивает переданный аргумент с единицей
dup % дублицирует результат сравнения
/$SDF exch def % устанавливает значение ключевого слова $SDF равным
% рез-тату сравнения
{ % начало процедуры, выполняемой при true
/$SDP exch def % устанавливает значение ключевых слов $SDP,
/$SCA exch def % $SCA и $SCF равным трем значениям, находившимся
/$SCF exch def % в стеке перед аргументом
} if % Вся вышеописанная процедура выполняется только
% в случае равенства единице аргумента. В нашем случае
% передается аргумент, равный нулю, поэтому

все что делает объект-процедура @G, так это устанавливает значение $SDF равным результату сравнения 0=1, т.е false. Эти параметры используются при цветоделении.


>> 138.12009 711.66217 L // В чем различие между большими и маленькими буквами L и l, С и с?

В регистре :) В Corel'овских EPS'ах (и PostScript файлах)


l — синоним lineto;
L — в CDR-12 синоним l, т.е. тоже lineto;
c — синоним curveto;
С — в CDR-12 синоним c, т.е. тоже curveto;

Возможно в предыдущих версиях они отличались, хотя так, кажется, уже давно. Но например M — сокращение от setmiterlimit, а m — moveto.

Все это написано в файле prolog.ps в папке <Где_у_меня_установлен_Корел>\Programs\Data\prolog.ps
 
Сверху