SSブログ
RSS [RSS1.0] [RSS2.0]
共謀罪を含む改悪組織犯罪処罰法は
【「共謀罪」法 衆参両院議員の投票行動(東京新聞 2017/6/16)】

透過GIFの透過色をGIMPで復活させる方法

 書いた直後に誤りに気付くとは…。(;_;)
 やはり「GIMPの現在の背景色を復活させたい透過色に一致させておくこと」は重要である。以下では、そうせずに透過色を復活できたケースを書いているが、カラーマップに未使用の色が存在して、その色がGIMPの現在の背景色(ツールボックスで確認できる)だった場合、アルファチャンネルの削除で透明部分に塗りつぶされるのは元の透過色ではなく「GIMPの現在の背景色」である。未使用の色をカラーマップに追加した状態で作業して気付いた。やはり仕様では、アルファチャンネルを削除した場合に「GIMPの現在の背景色」が透明部分を埋める色になるようになっているのだろう。「GIMPの現在の背景色」がカラーマップにない場合に、カラーマップの中の色を使って透明部分を埋めるのだろう。どの色を選択するかは、いろいろとあるのだろう。「名前を付けて保存」した場合も、透過色は「GIMPの現在の背景色」になるような気がする。それがカラーパレットにない場合は、いろいろとあるのだろう。時間をだいぶ使い、もう疲れたので、この問題は、もう深く考えないようにしたい。悔しいけれど…。(;_;)

以下の元記事は、興味のある方は参考までに読んでください。間違っている記述があるはずですが、疲れたので訂正しません。この記事を削除しないのは考察する際の参考になるかもしれないからです。ご容赦ください。m(_ _)m

 【GIMPで加工する透過GIFではカラーマップに注意】では透過GIFの透過色をカラーマップに追加することで画像モードがインデックスカラーのままで透過色(透明化した背景色)を復活させられることを書いた。その際に、次のような注意を書いた。

 画像モードをRGBにしなくても背景色を復活させることができた。
 注意しなければいけないのは、GIMPの現在の背景色を復活させたい背景色に一致させておくことである。

 GIMPの背景色が「赤」の場合は「赤地に赤」の真っ赤な画像になってしまうし、GIMPの背景色が「白」や「黒」などカラーマップにない色でもやはり「赤地に赤」の真っ赤な画像になってしまう。アルファチャンネルを削除する前にツールボックスで確認した方が良い。

  (GIMPで加工する透過GIFではカラーマップに注意 - 正己の異論・反論)

 その後に試したところ、GIMPの現在の背景色を透過色に一致させなくても、透過色を復活させられることが分かった。

 まずは【GIMPで加工する透過GIFではカラーマップに注意】のようにカラーパレットに復活させたい透過色を追加する。

20091110-GIMP1.gifのカラーマップに青を追加

 このカラーマップ内の色の順番を次のように変える。

20091110-GIMP1.gifのカラーマップに青を追加した後に青のカラーインデックスを「0」にする

 その後にアルファチャンネルを削除すると、次のように「青地に赤」の画像になる。

青地に赤のGIF画像

 カラーマップ内の色の順番を変える方法はGIMPを紹介しているサイトに書いてあると思うが、次のようにする。

 まず、カラーマップの色の上で右クリックするなどの方法で「インデックスカラーの並び替え」を選択する。

「インデックスカラーの並び替え」を選択する

 すると次のように「カラーマップを変更」の画面が現れる。

「カラーマップを変更」

 透過色のアイコンを一番左にドラッグ&ドロップして順番を変える。

透過色の青をカラーマップの一番前にする

 透過色のカラーインデックスは「1」のままだが、「OK」をクリックした後に再び開くと次のようにカラーインデックスが「0」に変わっていることが分かる。

透過色の青のカラーインデックスが「0」になっている

 これでカラーマップ内の色の順番が次のように変わる。

20091110-GIMP1.gifのカラーマップに青を追加した後に青のカラーインデックスを「0」にする

 この「透過色のカラーインデックスを「0」にしておく」方法は【GIMPで加工する透過GIFではカラーマップに注意】で書いた「GIMPの現在の背景色を復活させたい透過色に一致させておく」方法よりも良い。それは「名前を付けて保存」すると分かる。
 【GIMPで加工する透過GIFではカラーマップに注意】に書いたように、GIMPの現在の背景色を復活させたい透過色に一致させなくても、カラーマップに透過色を追加するだけで、「名前を付けて保存」された画像の透過色は希望通りの透過色になる。(例「透過色は青」→【20091118-9.gif】
 しかし、【20091118-9.gif】をGIMPで開いてカラーマップを確認してみれば分かるように、透過色がカラーマップから削除されている。
 それに対して「透過色のカラーインデックスを「0」にしておく」方法で作成した透過GIFは、次の画像をGIMPで開いてカラーマップで確認してみれば分かるように、「名前を付けて保存」した後でも透過色がカラーマップに残されている。開いてすぐにアルファチャンネルを削除しても透過色の「青」が復活する。

透明な地に赤のGIF画像(透過色「青」のカラーインデックスは「0」)

 これはPNG8でも同じだろう。透過色はカラーマップ内に用意してカラーインデックスを「0」にしておく。それで、GIMPで透過GIFや透過PNGを扱う際に起こる混乱を避けられるような気がする。ただ、PhotoFiltreやJTrimではカラーインデックスの扱いがどうなっているか分からない。カラーインデックス「0」を透過色にするのはGIMPだけの仕様かもしれない。とにかく、GIMPでGIFやPNG8を扱う際にはカラーマップだけでなくカラーインデックスも重要であることが分かった。

 私は透過GIFや透過PNGを作る際に起動に時間がかかるGIMPを使うことはほとんど無く、PhotoFiltreを使うことが多い。最近ではJTrimで作るようになった。それらで作った透過GIFや透過PNGでは【GIMPとPhotoFiltreの透過GIFで頭が混乱】で書いたような混乱が生じるかもしれない。GIMPで作った透過GIFや透過PNGでもPhotoFiltreやJTrimで加工して保存するとトラブルが起こるかもしれない。PhotoFiltreやJTrimでもこの記事で書いたような透過GIFのカラーマップやカラーインデックスを確認・変更できて、透過色の扱いを察することができれば良いのだが…。今のところ、透過GIFに関しては、PhotoFiltreよりはJTrimの方がトラブルが少ない印象である。だから、PhotoFiltreではなくJTrimをメインに使おうかと思いつつ、JTrimではできないこともあるのでPhotoFiltreを使い続けるのだろう。


nice!(0)  コメント(0)  トラックバック(0) 
カテゴリー:ブログを使いながら
共通テーマ:パソコン・インターネット

読者の反応

nice! 0

sonet-asin-area

コメント 0

コメントを書く 

お名前:[必須]
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。
captcha

トラックバック 0

トラックバックの受付は締め切りました

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。