Я хочу создать изображение в постскриптуме с прозрачной дырой, как это:
Лучшее решение, которое я могу придумать, состояло в том, чтобы создать обтравочный контур, который заполняет страницу while, за исключением дыры, например:
Мой текущий код постскриптума для всего этого выглядит следующим образом:
%!PS-Adobe-3.0 EPSF-3.0
%%BoundingBox: 0 0 100 100
%%Pages: 1
%%EndComments
%%EndProlog
% Create clipping path
newpath
-200 -200 moveto
200 -200 lineto
200 200 lineto
-200 200 lineto
closepath
70 50 moveto
60 50 10 360 0 arcn
closepath
clip
% Draw rest of the image
% In the actual image I am working on this rest of the image
% has a bunch of complex shapes.
newpath
20 20 moveto
66 20 lineto
66 70 lineto
20 70 lineto
closepath
0 0.5 0.5 setrgbcolor
fill
Часть, которая беспокоит меня в моем решении, заключается в том, что для рисования пути отсечения мне нужно было нарисовать большой прямоугольник, который был больше, чем вся страница, с некоторыми жестко закодированными большими координатами (от -200 до +200). Есть лучший способ сделать это?
Я бы предпочел просто иметь возможность сказать постскрипту рисовать за пределами круга с центром в 60 50 для контура отсечения, без необходимости создавать большой прямоугольник, который создает все. Это возможно?
Если это невозможно, я бы предпочел, по крайней мере, способ создать большой прямоугольник, не полагаясь на жестко заданные координаты, возможно, путем запроса координат углов изображения. Есть ли способ сделать это?