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は数値ですが、プロシージャ、文字列、またはファイルを指定する必要があります。文字列のバイナリ表現はないため、「バイナリ文字列」から「通常の」16 進数または 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 

さらに速度を上げるには、name-lookup も除外します。

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