私はこれと同じことを達成したいと思います:
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
は数値ですが、プロシージャ、文字列、またはファイルを指定する必要があります。文字列のバイナリ表現はないため、「バイナリ文字列」から「通常の」16 進数または 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
さらに速度を上げるには、name-lookup も除外します。
4 1 1 [1 0 0 1 0 0] {//buf} image