在后记中设置背景颜色

Set background color in postscript

我想将后记背景颜色从白色更改为黑色,这是 ps 文件:

%%Page: 1 1
%%BeginPageSetup
%%PageOrientation: Landscape
pdfStartPage
0 0 540 720 re W
%%EndPageSetup
[] 0 d
1 i
0 j
0 J
10 M
1 w
/DeviceGray {} cs
[0] sc
/DeviceGray {} CS
[0] SC
false op
false OP
{} settransfer
q
q
1 i
0 0 540 720 re
W*
0 0.03 540 720 re
W
/DeviceRGB {} cs
[0 0 0] sc                
[1 1 1] sc                // it means [R G B] (range: from 0.0 to 1.0)
...                          e.g. if it is changed to [0.5 0.5 0.5]
                                , then the background color is grey

最后两行完全一样;只有最后一行可以更改背景颜色,但倒数第二行不能。为什么?

嗯,您所拥有的只是 PostScript 程序的一部分。在我看来它是从 PDF 文件转换而来的,因为操作符是 PDF 操作符,而不是 PostScript 操作符。另外 'pdfStartPage' 有点赠品。

PostScript 没有 'background colour' 的概念。页面的某些部分已标记,部分未标记,但这并没有使它们成为 'white',而是使它们成为未标记。观众通常会将未标记的部分呈现为白色,但这并不完全相同。呈现为白色(即 0 setgray 1 1 1 setrgbcolor 或 0 0 0 0 setcmykcolor)将导致打印机不打印这些区域。如果你真的想写白色墨水,那么你需要使用一个名为 /White 的分色。

如果将一张纸放入激光打印机并进行打印,则只会打印标记区域。如果您的纸张是白色的,那么未标记的区域将是白色的。如果您的纸张(例如)是黄色的,那么未标记的区域将是黄色的。

无论如何,如果不查看所有内容就无法评论您的 PostScript 程序正在做什么,因为它重新定义了运算符。

您标记的两条线不会改变 'background colour',它们会改变当前颜色。该点之后的任何操作都将采用新的当前颜色。同样,不可能说出发生了什么变化,因为在那之后您没有引用任何标记操作。

如果您真的想讨论这个程序,最好 post 在某个地方 public 这样人们就可以看到整个程序,而不仅仅是随机的一小块。