イメージの背景の透明化の方法

Mosaic や Netscape に張り込む絵の背景色を、 「透明な色」にすることができます。
giftool を使う方法と、ppmtogif による方法があります。


giftool の利用

giftool の -rgb オプションで透明化する背景色を指定できます。 色の指定は色の名前でも16進数でもかまいません。
   giftool -rgb white myimage.gif > tmp.gif
             または
   giftool -rgb FF,FF,FF myimage.gif > tmp.gif
        
透明化されたデータは、標準出力に出るのでいったん 別のファイル名で保存する必要があります。 透明化したファイルを元の名前と同じにしたい場合は、 mv コマンドを使ってください。
   mv tmp.gif myimage.gif
        
あるいは、上と同じ操作は -B オプションを付ければ一回でできて便利です。
   giftool -B -rgb white myimage.gif
        

次のようにしてはいけません。元のデータが消えてしまいます!

   giftool -rgb white myimage.gif > myimage.gif
        

ppmファイルの用意

まず xpaint などで ppm形式のファイルを作成します。 この時、あらかじめ透明化したい色を決めておきましょう。 たいていは白(#fffff)が無難ですが、 その色が絵の内部の透明にしたくない場所でも使われていると、 本当は色が必要な部分まで透明化されてしまうので注意してください。

既に存在する他の形式のファイルを利用したい場合は、 適当な

変換フィルター を通して ppm形式に変換してください。 あるいは xv に一度読み込んでから ppm形式で保存し直してもいいでしょう。 透明化したい部分の色を確認したい場合は、この方法が便利です。

gifへの変換

netpbm の ppmtogif というフィルターを使います。 この時に -transparent というオプションを付けます。 そして -transparent の後に透明化したい色の RGB値を16進数で 与えます。(たとえば白ならば #ffffff 赤なら #ff0000)

例:


 ppmtogif -transparent \#ffffff abc.ppm > abc.gif
	
Mosaicでの利用

こうして作成された GIF形式のファイルは通常のものと 同様に Mosaicのページに張り込むことができます。

「透明化」の機能が使えるのは GIF形式に限ります。
「透明化」した GIF形式のファイルを他の形式に変化すると「透明化」の 効果は消えてしまいます。

「透明化」は Mosaicのように「透明化」の規約をきちんと解釈してくれる アプリケーションに対してのみ意味を持ちます。
「透明化」されたファイルを xv や xpaint で読み込んでから保存し直すと、 (たとえ GIF形式のままであろうと)「透明化」の効果は消えてしまいます。