postscript 3 允许在同一页上使用多个半色调网屏吗?
Is using multiple halftone screens on the same page allowed in postscript 3?
我正在处理一个在同一页面上多次使用 sethalftone
的后记文件。在我的打印机上我得到了预期的结果,但是当使用 ghostscript 时,整个页面都呈现在同一个屏幕上。我把它简化为这个例子:
%!PS-Adobe-3.0
<< /PageSize [99 33] >> setpagedevice
/size 33 def
/rect {
newpath
0 0 moveto
size 0 lineto
size size lineto
0 size lineto
closepath
fill
} def
0.5 0.5 0.5 0.5 setcmykcolor
rect
<< /HalftoneType 1 /Frequency 100 /Angle 60 /SpotFunction { pop } >> sethalftone
size 0 translate
rect
<< /HalftoneType 1 /Frequency 100 /Angle 45 /SpotFunction { pop } >> sethalftone
size 0 translate
rect
showpage
gs -dNOPAUSE -dBATCH -r600 -sDEVICE=tiffsep1 -sOutputFile=test%d.tif test.ps
(版本 9.52)为我提供了以下频道图像(所有频道都相同):
在第一个 rect
命令之前移动第一个 sethalftone
时,我得到了这些通道图像,其中包含伪影并且仍然具有相同的半色调:
显然,半色调缓冲区中存在某种内存损坏。
一开始只设置一个半色调(在使用默认值之前)效果很好。
所以我的标题问题仍然存在:是否允许在后记的同一页上使用多个不同的半色调?
PS:当将每个矩形和半色调分离到其自己的页面时,我仍然遇到内存损坏,但半色调似乎应用不同。
您可以在 PostScript 程序运行过程中随时更改半色调。它不需要位于页面的开头或程序的开头。
我正在处理一个在同一页面上多次使用 sethalftone
的后记文件。在我的打印机上我得到了预期的结果,但是当使用 ghostscript 时,整个页面都呈现在同一个屏幕上。我把它简化为这个例子:
%!PS-Adobe-3.0
<< /PageSize [99 33] >> setpagedevice
/size 33 def
/rect {
newpath
0 0 moveto
size 0 lineto
size size lineto
0 size lineto
closepath
fill
} def
0.5 0.5 0.5 0.5 setcmykcolor
rect
<< /HalftoneType 1 /Frequency 100 /Angle 60 /SpotFunction { pop } >> sethalftone
size 0 translate
rect
<< /HalftoneType 1 /Frequency 100 /Angle 45 /SpotFunction { pop } >> sethalftone
size 0 translate
rect
showpage
gs -dNOPAUSE -dBATCH -r600 -sDEVICE=tiffsep1 -sOutputFile=test%d.tif test.ps
(版本 9.52)为我提供了以下频道图像(所有频道都相同):
在第一个 rect
命令之前移动第一个 sethalftone
时,我得到了这些通道图像,其中包含伪影并且仍然具有相同的半色调:
显然,半色调缓冲区中存在某种内存损坏。 一开始只设置一个半色调(在使用默认值之前)效果很好。
所以我的标题问题仍然存在:是否允许在后记的同一页上使用多个不同的半色调?
PS:当将每个矩形和半色调分离到其自己的页面时,我仍然遇到内存损坏,但半色调似乎应用不同。
您可以在 PostScript 程序运行过程中随时更改半色调。它不需要位于页面的开头或程序的开头。