記事や動画のサムネイルを作る際、フリーソフトのGIMPによくお世話になっています。
今までGIMP 2.8.10を使用していたのですが、いつの間にやら最新バージョン(2.10.8)が公開されていたので更新することにしました。
更新後、今までと異なるインターフェースに一瞬戸惑いましたが、基本的なところは変わってなかったので問題無く使えました。
しかし、指定の色を透明度にする機能の仕様が少し変わっていることに気づきました。
GIMP旧バージョン(2.8.10)における「色を透明度にする(Color to Alpha)」の仕様
僕がつい最近まで使っていた旧バージョンにおける「色を透明度にする(Color to Alpha)」機能の仕様は以下の通りでした。
活性レイヤー上のすべての画素のうち指定された色をもつ画素を透過させます。アルファチャンネルが必要ですが無ければ自動的に作成されます。 アンチエイリアスのかかった色際の情報が保てるよう、 半知能的な処理方法を使って指定色の情報が弱い画素には弱いアルファ値を与えています。 このため、 指定色を一部に含む部分の画素は周囲の画素から徐々に色変わりしたそのままの印象を受け継いで半透明になります。
コマンドは
この機能って何かと便利でして、画像から特定の部分を切り抜きする際にうまく駆使するとめちゃくちゃ綺麗にできたりすることが多いんですよね。
例えばこんな感じで↓
↓
しかし最新バージョンのGIMPで同じことをしようとすると、ちょっとした問題があるのです。
GIMP最新バージョン(2.10.8)における「色を透明度にする(Color to Alpha)」の挙動
以下の画像は最新のGIMP 2.10.8 で「色を透明度にする(Color to Alpha)」機能を使用した際の挙動です。
白色成分を透明にする処理を施しています。一見問題無さそうに見えますね。
しかし、ここで試しに白色で埋め尽くしたレイヤーを下に置いてみると次のようになってしまいます。
なんと、元画像に比べて白っぽくなってるではありませんか・・・
白色成分のみを抜いているはずなので、本来であれば色抜きした画像の下に白色のレイヤーを置くと元通りになるのが普通です。
これではせっかく綺麗に切り抜きしようと思っても、最終的に元画像より白っぽくなってしまうので台無しです。
なんとかして以前のバージョンと同じような処理が出来ないかどうかひたすら探し周り、ようやく見つけることが出来たので次の項から紹介します。
GIMP 2.10.8 における色抜きの仕方
①元画像より1つ上のレイヤーに、透明にしたい色で塗りつぶした画像を置く
元画像から白色成分を抜くという話で進めていきます。
まず元画像の上に真っ白なレイヤーを置いて下さい。
置いた後、黄色の丸(右上あたり)で囲んでいる「モード」をクリックして下さい。
②モードを「Color erase」に変更する
モードをクリックしたら以下のように英語で書かれた一覧が表示されるので、その中から「Color erase」を選択してください。
すると以下のように白色成分のみが透明になります。
これが以前のバージョンにおける「色を透明度にする(Color to Alpha)」と同じ挙動になります。
③以前のバージョンと同じ挙動かどうか確認
この状態で1つ下のレイヤーに白色の画像を置くと、元画像と同じ見た目に戻るはずです。
まずは元画像より1つ下のレイヤーに白色の画像を置きます。
最後に「Color erase」モードにしておいた一番上のレイヤーを元画像と統合すると以下のようになりました。
完全に見た目が元通りになりました。
以上で解説を終わります。
なぜ最新版GIMPだと従来の方法でうまくいかないのか
最新版GIMPにて「色を透明度にする(Color to Alpha)」機能を用いて色抜きすると、何故か以前のバージョンと違い、正確に色抜きされなくなっていました。
ここで、最初の方に挙げておいた引用文をもう一度読んでみましょう。
活性レイヤー上のすべての画素のうち指定された色をもつ画素を透過させます。アルファチャンネルが必要ですが無ければ自動的に作成されます。 アンチエイリアスのかかった色際の情報が保てるよう、 半知能的な処理方法を使って指定色の情報が弱い画素には弱いアルファ値を与えています。 このため、 指定色を一部に含む部分の画素は周囲の画素から徐々に色変わりしたそのままの印象を受け継いで半透明になります。
コマンドは
赤字と青字部分にある通り、従来のバージョンでは指定された色を持つ画素を単純に透過させているのではなく、画素中における指定色の割合までも考慮してアルファ値を与えて透過するよう工夫されていることが分かります。
このことから最新版では画素中における指定色の割合を正確に考慮しない仕様になっているため、以前のバージョンのような綺麗な色抜きが出来なくなったのではないかと考えられます。
まとめ
最新版GIMPでは「色を透明度にする(Color to Alpha)」機能の仕様変更により、従来だと出来ていた綺麗な色抜きが出来なくなっていました。
何とかならないか色々試してみた結果、元画像の上に指定色で塗りつぶしたレイヤーを置き、Color eraseモードで重ねることで以前と全く同じ挙動の色抜きが可能だということが分かりました。
GIMPで「色を透明度にする(Color to Alpha)」機能をよく使っているという方はぜひ参考にしてみてください。
コメント
はじめまして、こんにちは。
「色を透明度に」の仕様は変わっていないと思います。
試しに他の画像ソフト(Azpainter2など)で下のレイヤーに白を置いてみてください。以前のGIMPと同じ結果になると思います。
仕様が変わったのは「合成モード」です。
デフォルトとレガシーがあるので、レガシー(モードの右端の方にある円の矢印をウィルバーくんに)にしてみてください。旧バージョンのGIMPと同じになると思います。
以上、参考になれば幸いです。