我想达到同样的目的:
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
答案 0 :(得分:2)
查看PostScript参考手册:
图片 宽度高度位/样本矩阵datasrc 图片 -
[...]
在LanguageLevel 1中, datasrc 必须是一个过程。在LanguageLevel 2或3中,它可以是任何数据源 - 过程,字符串或可读文件,包括过滤文件(参见第3.13节“过滤文件详细信息”)。
2#0100
是一个数字,但您需要提供过程,字符串或文件。没有字符串的二进制表示,因此您必须实现自己从“二进制字符串”到“普通”,十六进制或base-85字符串的转换。
答案 1 :(得分:1)
您可以动态构建字符串
1 string % str
然后将你的价值投入其中。
dup 0 2#100 put % str'
如果您需要一级兼容性,请从中进行处理。
{ 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