我想达到同样的效果:
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 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
查看 PostScript 参考手册:
图像 宽度高度位/样本矩阵 datasrc 图像-</p>
[...]
在 LanguageLevel 1 中,datasrc必须是一个过程。在 LanguageLevel 2 或 3 中,它可以是任何数据源——过程、字符串或可读文件,包括过滤文件(请参阅第 3.13 节,“过滤文件详细信息”)。
2#0100
是一个数字,但您需要提供一个过程、字符串或文件。字符串没有二进制表示,因此您必须自己实现从“二进制字符串”到“普通”、十六进制或 base-85 字符串的转换。
您可以动态构造字符串
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