2. レイヤーのモード

GIMP のレイヤーモードは 21 種類あります。 レイヤーモードはブレンドのモードと呼ばれることもあります。 レイヤーモードを選ぶと、 対象レイヤーもしくはその背面側のレイヤーを下敷に、 そのレイヤーや画像が視覚的に変化します。 画像にレイヤーが 1 層しかないときはレイヤーモードを変えても何も起きません。 すなわちレイヤーモードを利用するには画像に少なくとも 2 層以上のレイヤーがなくてはなりません。

レイヤーモードはレイヤーダイアログの モード メニューで選びます。 レイヤーモードにより現在いるレイヤーの画素とその背面側のレイヤーの同じ位置の画素との合成方法が定まります。

[注記] 注記

描画ツールのうち鉛筆、 絵筆、 エアブラシ、 インク、 スタンプの各ツールには描画モードがあり、 レイヤーモードと共通のはたらきをする 21 種類のモードが使えるのに加え描画モード特有の 2 種類のモードもあります。 描画ツール特有のモード をご覧ください。

レイヤーモードによっては画像に複雑な色の変化をもたらします。 そのようなモードはある種のマスクとして作用させる目的で、 新しいレイヤーを用いて使用することがよく行われます。 たとえば新たに単色白のレイヤーを画像の前面に重ね、 そのモードを彩度に設定すると、 その下側の可視レイヤーは灰色の陰影だけが見え、 まるで白黒写真のようになります。

[注記] 注記

Prior to blending, images have gamma correction removed and are converted from sRGB to linear. After blending, they are converted back from linear to sRGB. However, before converting back to sRGB, opacity is applied.

図8.8 レイヤーモードの例に用いる画像 (マスク用)

レイヤーモードの例に用いる画像 (マスク用)

マスク 1

レイヤーモードの例に用いる画像 (マスク用)

マスク 2


図8.9 レイヤーモードの例に用いる画像 (背景用)

レイヤーモードの例に用いる画像 (背景用)

キーホルダーアクセサリー

レイヤーモードの例に用いる画像 (背景用)

かも


以下のレイヤーモードの説明には数式も登場します。 これはレイヤーモードを数理的に理解したい方のためのものです。 もちろんレイヤーモードの効果を利用するのが目的ならばそれらの数式を理解する必要はありません。

数式には略号を使っています。 たとえば次の等式

式8.1 略号の例


の意味は、

ある画素の色 E は、 上に重ねたマスクのその位置の画素の色 M に、 同じ位置の下側にあるレイヤーの画素の色 I を加えたものである。

です。 画素の色はその値が 0 から 255 の範囲に常に入らなければなりません。

[注記] 注記

特に断わりのない限り、 計算で負の値が出れば 0 に直され、 255 を越えれば 255 になります。

例図はそれぞれのモードによる効果を表しています。

各モードの成果はレイヤーの色に非常に大きく左右されるため、 例図の画像からではモードの効能はごく一般的な感触しか掴めません。 まずはご自分で確かめられることをお勧めします。 試しに何かの画像にその複製レイヤーを重ねて、 片方だけちょっと変化 (ぼかし、 移動、 回転、 拡大・縮小、 色反転など) させておいてから、 レイヤーモードを変更するとどんなことが起きるかを見比べるのです。

標準

図8.10 レイヤーモード標準の例

レイヤーモード標準の例

両画像を等しい強度で互いに融合させた。

レイヤーモード標準の例

標準合成の場合、 上のレイヤーが不透明度 100% ならば重なった部分は上のレイヤーだけが見える。


標準 モードは既定のレイヤーモードです。 上のレイヤーがその下側のレイヤーを覆い隠します。 このモードで下側のレイヤーが僅かでも見えるようにするには上のレイヤーに透過部分がなくてはなりません。

等式はつぎのとおり。

式8.2 レイヤーモード標準の等式


ディザー合成

図8.11 レイヤーモードディザー合成の例

レイヤーモードディザー合成の例

両画像を等しい強度で互いに融合させた。

レイヤーモードディザー合成の例

ディザー合成の場合、 上のレイヤーが不透明度 100% ならば重なった部分は上のレイヤーだけが見える。


ディザー合成 は画素を無作為に透過させるディザー効果を上側のレイヤーにかけてその下のレイヤーと合成します。 この技法はレイヤーモードのみならず描画のモードでもたびたび役立ちます。

このモードは画像を重ねた縁の付近で特にその特徴が顕著に現れます。 拡大したスクリーンショットをご覧になればもっとわかりやすいでしょう。 下図の左の[上の]画像は標準レイヤーモードを、 右の[下の]画像はディザー合成レイヤーモードを使った同じ部分を抜き出したものですが、 画素の散乱の様子がはっきりわかります。

図8.12 スクリーンショットの拡大図

スクリーンショットの拡大図

標準モード

スクリーンショットの拡大図

ディザー合成モード


乗算

図8.13 レイヤーモード乗算の例

レイヤーモード乗算の例

マスク 1 を 100% 不透明な上側のレイヤーとして使う。

レイヤーモード乗算の例

マスク 2 を 100% 不透明な上側のレイヤーとして使う。


乗算 モードは上側のレイヤーの画素の値とその下側のレイヤーの画素の値の積を 255 で除算します。 結果として画像が暗くなる場合がほとんどです。 どちらかのレイヤーに純白があればその部分はもう一方のレイヤーの色と同じになります (1 × I = I)。 どちらかのレイヤーに黒があればその部分は完全な黒になります (0 × I = 0)。

等式はつぎのとおり。

式8.3 レイヤーモード乗算の等式


このモードは可換です。 両レイヤーの順序を問いません。

除算

図8.14 レイヤーモード除算の例

レイヤーモード除算の例

マスク 1 を 100% 不透明な上側のレイヤーとして使う。

レイヤーモード除算の例

マスク 2 を 100% 不透明な上側のレイヤーとして使う。


除算 モードは下側のレイヤーの画素の値を 256 倍したあとで上側のレイヤーの同じ位置の画素の値に 1 を加えた値で除算します。 (1 を加えるのは 0 で除算するのを避けるためです。) その結果、 ほとんどの画像は色が薄くなり、 ときには日焼けしたようにも見えます。

等式はつぎのとおり。

式8.4 レイヤーモード除算の等式


スクリーン

図8.15 レイヤーモードスクリーンの例

レイヤーモードスクリーンの例

マスク 1 を 100% 不透明な上側のレイヤーとして使う。

レイヤーモードスクリーンの例

マスク 2 を 100% 不透明な上側のレイヤーとして使う。


スクリーン モードはまず画像の両レイヤーの可視画素の値を反転します。 (つまり各値は 255 との差に置き換わります。) 次に両値の積を 255 で除算した値を再び反転します。 その結果、 ほとんどの画像は明るくなり、 ときには洗い晒したようにも見えます。 このモードの例外は、 レイヤーが黒い場合にもう一方のレイヤーの色から何も変化しないことと、 レイヤーが白い場合には画像が白くなることです。 画像の色は暗いところほど透明になります。

等式はつぎのとおり。

式8.5 レイヤーモードスクリーンの等式


このモードは可換です。 両レイヤーの順序を問いません。

オーバーレイ

図8.16 レイヤーモードオーバーレイの例

レイヤーモードオーバーレイの例

マスク 1 を 100% 不透明な上側のレイヤーとして使う。

レイヤーモードオーバーレイの例

マスク 2 を 100% 不透明な上側のレイヤーとして使う。


オーバーレイ モードは下側のレイヤーの画素の値を反転し、 上側のレイヤーの同じ位置の画素の値との積を 2 倍して 255 で割り、 その値と下側のレイヤーの画素の元の値との和にさらに下側のレイヤーの画素の元の値をかけて、 再び 255 で割ります。 画像は暗くなりますが乗算モードほどの変化はありません。

等式はつぎのとおり。 [7]

式8.6 レイヤーモードオーバーレイの等式


覆い焼き

図8.17 レイヤーモード覆い焼きの例

レイヤーモード覆い焼きの例

マスク 1 を 100% 不透明な上側のレイヤーとして使う。

レイヤーモード覆い焼きの例

マスク 2 を 100% 不透明な上側のレイヤーとして使う。


覆い焼き モードは下側のレイヤーの画素の値を 256 倍してから、 上側のレイヤーの同じ位置の画素の値を反転してから 1 を加えた値により商を求めます。 その結果、 画像は通常色が薄くなり、 一部の色は反転します。

写真の業界では覆い焼きとは暗室での現像作業で画像の特定の部分の露出を抑える技法をさしています。 結果として影になっていた部分が詳しく見えるようになります。 この本来の目的で覆い焼きモードを使うのならば、 レイヤーモードよりむしろ描画ツールでグレースケール画像に対しての操作で真価を発揮します。

等式はつぎのとおり。

式8.7 レイヤーモード覆い焼きの等式


焼き込み

図8.18 レイヤーモード焼き込みの例

レイヤーモード焼き込みの例

マスク 1 を 100% 不透明な上側のレイヤーとして使う。

レイヤーモード焼き込みの例

マスク 2 を 100% 不透明な上側のレイヤーとして使う。


焼き込み モードは下側のレイヤーの画素の値を反転して 256 倍し、 上側のレイヤーの同じ位置の画素の値に 1 を加えた値で除算し、 反転します。 結果として画像は暗くなる傾向があり、 いくぶん乗算モードに似ています。

写真の業界では焼き込みとは暗室での現像作業で画像の特定の部分の露出を強める技法をさしています。 結果として眩しくなっていた部分が詳しく見えるようになります。 この本来の目的で焼き込みモードを使うのならば、 レイヤーモードよりむしろ描画ツールを用いたグレースケール画像に対しての操作で真価を発揮します。

等式はつぎのとおり。

式8.8 レイヤーモード焼き込みの等式


ハードライト

図8.19 レイヤーモードハードライトの例

レイヤーモードハードライトの例

マスク 1 を 100% 不透明な上側のレイヤーとして使う。

レイヤーモードハードライトの例

マスク 2 を 100% 不透明な上側のレイヤーとして使う。


ハードライト モードは明るい色用と暗い色用の 2 つの等式を使い分けるためちょっとややこしくなっています。 上側のレイヤーの画素の値が 128 を越えておれば、 下に示した第 1 の数式をレイヤーの合成処理に使います。 逆に上側のレイヤーの画素の値が 128 以下ならば、 両レイヤーの画素の値の積を 2 倍して 256 で割ります。 2 枚の写真を合成するときこのモードを使えば色が明るくなり形象の輪郭がはっきりします。

この等式は上側のレイヤーの画素の値が 128 を越す場合と 128 以下である場合とで異なっています。

式8.9 レイヤーモードハードライトの等式、 M > 128 の場合


式8.10 レイヤーモードハードライトの等式、 M ≤ 128 の場合


ソフトライト

図8.20 レイヤーモードソフトライトの例

レイヤーモードソフトライトの例

マスク 1 を 100% 不透明な上側のレイヤーとして使う。

レイヤーモードソフトライトの例

マスク 2 を 100% 不透明な上側のレイヤーとして使う。


ソフトライト モードはハードライトモードに名前以外では何の関係もありませんが、 色はさほど明るくならず、 形象の輪郭も柔らかくなる傾向にあります。 オーバーレイモードに似ています。 GIMP では数版にわたって、 オーバーレイモードとソフトライトモードが同一の状態が続いています。

この等式は複雑です。 スクリーンモードの結果 Rs を使います。

式8.11 レイヤーモードスクリーンの等式


式8.12 レイヤーモードソフトライトの等式


微粒取り出し

図8.21 レイヤーモード微粒取り出しの例

レイヤーモード微粒取り出しの例

マスク 1 を 100% 不透明な上側のレイヤーとして使う。

レイヤーモード微粒取り出しの例

マスク 2 を 100% 不透明な上側のレイヤーとして使う。


微粒取り出し モードはレイヤーからフィルム粒子を抽出して純粒子からなる新たなレイヤーを生成するものらしいのですが、 エンボス加工を施したような画像にする目的にも適います。 上側のレイヤーの画素の値を下側のレイヤーの同じ位置の画素の値から引き、 128 を加えます。

等式はつぎのとおり。

式8.13 レイヤーモード微粒取り出しの等式


微粒結合

これ以外の 2 つのモードは描画ツール専用です。 詳しくは 描画モード をご覧ください。

図8.22 レイヤーモード微粒結合の例

レイヤーモード微粒結合の例

マスク 1 を 100% 不透明な上側のレイヤーとして使う。

レイヤーモード微粒結合の例

マスク 2 を 100% 不透明な上側のレイヤーとして使う。


微粒結合 モードは粒状レイヤー (微粒取り出しモードで作成できる) を上側のレイヤーに融合させ元のレイヤーの粒状性は残します。 ちょうど微粒取り出しモードの逆です。 上下の両レイヤーの画素の値の和から 128 を除算します。

等式はつぎのとおり。

式8.14 レイヤーモード微粒結合の等式


差の絶対値

図8.23 レイヤーモード差の絶対値の例

レイヤーモード差の絶対値の例

マスク 1 を 100% 不透明な上側のレイヤーとして使う。

レイヤーモード差の絶対値の例

マスク 2 を 100% 不透明な上側のレイヤーとして使う。


差の絶対値 モードは下側のレイヤーの画素の値と上側のレイヤーの同じ位置の画素の値の差の絶対値をとります。 元の両レイヤーにどんな画像を使っても、 結果として得られる画像は風変りになります。 画像を部分的に反転させる目的に向いています。

等式はつぎのとおり。

式8.15 レイヤーモード差の絶対値の等式


このモードは可換です。 両レイヤーの順序を問いません。

加算

図8.24 レイヤーモード加算の例

レイヤーモード加算の例

マスク 1 を 100% 不透明な上側のレイヤーとして使う。

レイヤーモード加算の例

マスク 2 を 100% 不透明な上側のレイヤーとして使う。


加算 モードは非常に簡素です。 上下の両レイヤーの画素の値の和をとります。 その結果、 ほとんどの画像は色が薄くなります。 等式から導かれる色の値は 255 を越えることもあるため、 色が薄いと最大値 255 になるようです。

等式はつぎのとおり。

式8.16 レイヤーモード加算の等式


このモードは可換です。 両レイヤーの順序を問いません。

減算

図8.25 レイヤーモード減算の例

レイヤーモード減算の例

マスク 1 を 100% 不透明な上側のレイヤーとして使う。

レイヤーモード減算の例

マスク 2 を 100% 不透明な上側のレイヤーとして使う。


減算 モードは下側のレイヤーの画素の値から上側のレイヤーの同じ位置の画素の値を引きます。 その結果、 画像は通常暗くなります。 得られる画像は真っ黒か黒っぽいものになりがちです。 等式から導かれる値が負の色の値となることがあり、 暗い色は最低値の 0 にされるものもあります。

等式はつぎのとおり。

式8.17 レイヤーモード減算の等式


比較(暗)

図8.26 レイヤーモード比較(暗)の例

レイヤーモード比較(暗)の例

マスク 1 を 100% 不透明な上側のレイヤーとして使う。

レイヤーモード比較(暗)の例

マスク 2 を 100% 不透明な上側のレイヤーとして使う。


比較(暗) モードは上下両レイヤーの画素の値から小さな方を選んで結果の画像に使います。 一方が真っ白なレイヤーだと何の変化も起きず、 真っ黒なレイヤーがあると結果の画像も真っ黒になります。

等式はつぎのとおり。

式8.18 レイヤーモード比較(暗)の等式


このモードは可換です。 両レイヤーの順序を問いません。

比較(明)

図8.27 レイヤーモード比較(明)の例

レイヤーモード比較(明)の例

マスク 1 を 100% 不透明な上側のレイヤーとして使う。

レイヤーモード比較(明)の例

マスク 2 を 100% 不透明な上側のレイヤーとして使う。


比較(明) モードは上下両レイヤーの画素の値を比較して大きな値を結果の画像に使います。 真っ黒なレイヤーがあると何の変化も起きず、 真っ白なレイヤーがあると白い画像になります。

等式はつぎのとおり。

式8.19 レイヤーモード比較(明)の等式


このモードは可換です。 両レイヤーの順序を問いません。

色相

図8.28 レイヤーモード色相の例

レイヤーモード色相の例

マスク 1 を 100% 不透明な上側のレイヤーとして使う。

レイヤーモード色相の例

マスク 2 を 100% 不透明な上側のレイヤーとして使う。


色相 モードは上側のレイヤーの色相と下側のレイヤーの彩度と明度を用いて結果の画像を構成します。 ただし上側のレイヤーの彩度が 0 のとき、 下側のレイヤーから色相も使います。

彩度

図8.29 レイヤーモード彩度の例

レイヤーモード彩度の例

マスク 1 を 100% 不透明な上側のレイヤーとして使う。

レイヤーモード彩度の例

マスク 2 を 100% 不透明な上側のレイヤーとして使う。


彩度 モードは上側のレイヤーの彩度と、 下側のレイヤーの色相と明度を用いて結果の画像を構成します。

図8.30 レイヤーモードの例

レイヤーモード色の例

マスク 1 を 100% 不透明な上側のレイヤーとして使う。

レイヤーモード色の例

マスク 2 を 100% 不透明な上側のレイヤーとして使う。


モードは上側のレイヤーの色相と、 下側のレイヤーの明度を用いて結果の画像を構成します。

明度

図8.31 レイヤーモード明度の例

レイヤーモード明度の例

マスク 1 を 100% 不透明な上側のレイヤーとして使う。

レイヤーモード明度の例

マスク 2 を 100% 不透明な上側のレイヤーとして使う。


明度 モードは上側のレイヤーの明度と下側のレイヤーの彩度を用いて結果の画像を構成します。 このモードを使うと彩度を変更せずに画像の暗い部分や眩しい部分を詳らかにできます。

画像のレイヤーごとに別個のレイヤーモードも選べます。 (もちろん最背面のレイヤーのモードはどれを選んでも画像には何の変化ももたらしません。) それぞれのレイヤーモードの効果は掛け合わされます。 次の画像は 3 層のレイヤーから成ります。 最前面 (上側) のレイヤーは透明な部分で囲まれたウィルバー君が描かれ、 そのレイヤーモードは差の絶対値にしてあります。第 2 のレイヤーは単色青で加算モードです。 背景レイヤーはRed Cubesパターンで埋め尽くされています。

図8.32 複数レイヤー複数モードの例

複数レイヤー複数モードの例

GIMP の描画ツールにも同じようなモードがあります。 これらはレイヤーモードの 21 種類と同じものと、 2 つの描画ツール特有のモードからなります。 描画ツールではこれらのモードをツールオプションダイアログ上の モード メニューで設定できます。 上述の等式については、 描画対象のレイヤーが下側のレイヤー Iで、 そのツールで描かれる画素は上側のレイヤー Mにあります。 これらのモードを使用するのに画像にはレイヤーがひとつあれば充分です。 任意の描画ツールで現在使用中のレイヤーに操作をするのですから当然ですね。

別の 2 つの描画モードについては 「描画モードの例」 をご覧ください。



[7] これは 理 論 上 の等式です。 Bug #162395 の報告にもあるように、 実際に使われている数式はソフトライトと全く同じものです。 このバグへの対処については[このモードの削除やあるいは別の数式に変更するような処置が]既にファイルに保存してある画像の見た目を変更してしまうおそれがあるので、 困難です。