2

我想达到同样的效果:

4 1 1 [1 0 0 1 0 0] {<4>} image

但使用基数表示:

4 1 1 [1 0 0 1 0 0] 2#0100 image %this one does not work
4

2 回答 2

2

查看 PostScript 参考手册:

图像 宽度高度位/样本矩阵 datasrc 图像-</p>

[...]

在 LanguageLevel 1 中,datasrc必须是一个过程。在 LanguageLevel 2 或 3 中,它可以是任何数据源——过程、字符串或可读文件,包括过滤文件(请参阅第 3.13 节,“过滤文件详细信息”)。

2#0100是一个数字,但您需要提供一个过程、字符串或文件。字符串没有二进制表示,因此您必须自己实现从“二进制字符串”到“普通”、十六进制或 base-85 字符串的转换。

于 2013-07-12T11:47:32.560 回答
1

您可以动态构造字符串

1 string  % str

然后把你的价值投入其中。

dup 0 2#100 put  % str'

如果您需要 1 级兼容性,请使用它制作一个 proc。

{ 1 string dup 0 2#100put }

但是,由于字符串是恒定的,为每个样本分配一个新的字符串是浪费的。因此,您可以分配一次,将其存储在当前字典中,并在过程中使用该名称。

/buf 1 string dup 0 2#100 put def

4 1 1 [1 0 0 1 0 0] {buf} image 

为了获得额外的速度提升,还要考虑名称查找。

4 1 1 [1 0 0 1 0 0] {//buf} image
于 2014-09-23T09:28:19.250 回答