【问题标题】:Set background color in postscript在 postscript 中设置背景颜色
【发布时间】:2015-04-11 22:10:10
【问题描述】:

我想把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


    【解决方案1】:

    你所拥有的只是 PostScript 程序的一部分。在我看来,它像是从 PDF 文件转换而来的,因为运算符是 PDF 运算符,而不是 PostScript 运算符。 'pdfStartPage' 也是一个赠品。

    PostScript 没有“背景颜色”的概念。页面的某些部分已标记,而部分未标记,但这不会使它们成为“白色”,但会使它们未标记。查看器通常会将未标记的部分渲染为白色,但这并不完全相同。渲染为白色(即 0 setgray 1 1 1 setrgbcolor 或 0 0 0 0 setcmykcolor)将导致打印机不打印这些区域。如果你真的想写白色墨水,那么你需要使用名为 /White 的分离颜色。

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

    无论如何,如果不查看所有 PostScript 程序正在做的事情,就真的不可能评论它,因为它重新定义了运算符。

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

    如果您真的想讨论该程序,最好将其发布在公开的地方,以便人们可以查看整个程序,而不仅仅是随机的一小部分。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-25
      • 2012-10-16
      • 2015-12-26
      • 1970-01-01
      • 1970-01-01
      • 2023-03-25
      • 2010-09-17
      • 2018-07-15
      相关资源
      最近更新 更多