塗りつぶし属性の指定

 GMTでは,多角形の内側やシンボルの内側を特定の方法でフィルする(塗りつぶす)ことができるプログラムが多くあります.このようなフィル属性を指定するには二つの方法があります:
-Gfill
  -Gpdpi/pattern[:Br/g/b[Fr/g/b]]

 最初の例から見てゆきましょう.この例では,fillとしてグレースケール数値(0〜255)およびRGBカラー指定r/g/b,各数値は0〜255)を指定することができます.これはちょうどペン属性の指定と同様です.

 2番目の例では,塗りつぶしパターンとして,別に用意されたビットマップを使用することができます.patternとしては,1〜90の間の数値あるいは18ビットや24ビットのSUNラスターファイル名を指定することが出来ます.

 -Gpではなくて大文字の-GPを指定した場合は,画像はすべてビット反転されます(ネガ指定.)ただしこれが有効なのは1ビット画像および組み込みパターンのみです.これらの画像及び他の1ビット画像については,バックグランドカラーとフォアグラウンドカラーを明示的に指定することも出来ます.これは:Br/g/b[Fr/g/b]を付加することによって可能になり,デフォルトでは「白」および「黒」になるピクセルの色を任意の色に指定することができます.ここで,バックグラウンドカラーないしフォアグラウンドカラーに「-」を指定すると,指定したピクセルに色を塗らない「透明画像」を得ることができます.

注意1:PostScriptの実装上の制限により,-Gで用いられるラスターイメージは146x146ピクセルを越えることはできません.もっと大きなサイズの画像を用いたい場合は,psimageを参照してください.また,SUNラスターファイルのフォーマットについては,テクニカルリファレンスの付録Bを参照して下さい.

注意2:PostScriptレベル1においては,ポリゴンをクリップパスとしてフィルが行われます.複雑なクリップパスを用いるとPostScriptインタプリタが割り当てたメモリより多くのメモリが必要となる場合があります.ですから,PostScriptインタプリタ(特に古いタイプのlaserwriterのもの)でこのような描画を行った場合,メモリが不足してアボートする可能性があります.このような場合は,パターンではなくて単純なグレースケールでフィルを行うことをお勧めします.プリンタにメモリを増設しても,問題は解決されたりされなかったりします.

Original Text by Dr. Paul Wessel
Translated by AGATASHI.