【GIMP】レイヤーのモードの種類

GIMPにおける合成の「モード」の種類の違いについてメモ。

モードとは?

モードは、レイヤーを重ねる際に、「どのようにピクセルを計算して重ねるか」を設定できる機能です。

レイヤーダイアログの一番上にある「モード」で設定できます。

また、

「塗りつぶし」ツール
「ブレンド」ツール

などの描画ツールでも、塗りつぶす際にモードを指定できたりもします。

前提

このページでは、レイヤーのモードを解説するために、以下↓のような2つの画像を、

上レイヤー
・左から右にかけて白黒グラデーション
・一番上に9色のカラーバー
・カラーバー下に円状の透明
・左に白文字で「白」
・右に黒文字で「黒」
下レイヤー
・女の人の画像(ぱくたそ様
・一番下に9色のカラーバー

以下↓のように、2つ重ねて比較しています。

▲矢印の方向から見る(上レイヤー → 下レイヤーという順番に重なっている)

※注意

各モードの合成結果は、レイヤーの色に非常に大きく左右されます。

なので、このページで貼っている画像を見ただけでは、モードの機能を完璧に理解するのは(恐らく)ムリです。

モードの機能を完璧に理解したい人は、自分で色々な画像を使って、使ってみるのが一番です。

モードの違い

標準

標準は、単純に合成するモードです。

レイヤーの上にレイヤーをそのまま重ねます。

▲前提 ▲合成結果
(上レイヤーの透明な部分は、そのまま透けて見える)

ディザー合成

ディザー合成は、透明が低い部分の画素が、ランダムに透明になるモードです。

↓の例では、「虹」の画像の透明度をそれぞれ変えた例です。

▲前提 ▲合成結果
(上レイヤーの透明な部分が、ディザで表示されるようになる)

例えば、レイヤー自体の透明度を変更すると、全体がディザで表示されます。↓

▲透明度を変更している様子
ちなみに、「ディザ」というのは、少ない色で多くの色を表現するための手法のことです。
参考:ディザ – Wikipedia

比較(明)

比較(明)は、重ねたレイヤーのピクセルを比較し、明るい方のピクセルを表示するモードです。

つまり、全体的に明るくなります。

▲前提 ▲合成結果

例えば、

  • 上レイヤー:緑色(0,255,0)
  • 下レイヤー:紫色(255,0,255

という場合、それぞれの明るい部分が採用されるので、白(255,255,255)となります。

スクリーン

スクリーンは、比較(明)と同じく、「明るくする系」のモードです。

  • 上のレイヤーの暗い部分は、そのまま透過する
  • 上のレイヤーの明るい部分は、下のレイヤーの「明るさ」を上げて透過する

計算式は(ややこしいですが)以下のようになります。

$$合成後=RGB(255,255,255)-\frac{(RGB(255,255,255)ー上のレイヤー)+(RGB(255,255,255)ー下のレイヤー)}{255}$$

▲前提 ▲▲合成結果

例えば、

  • 上のレイヤー:赤(255,0,0)
  • 下のレイヤー:水(0,255,255)

という場合、

\begin{eqnarray}
合成後&=&RGB(255,255,255)-\frac{(RGB(255,255,255)ー赤(255,0,0))\times(RGB(255,255,255)ー水(0,255,255))}{255}\\
&=&RGB(255,255,255)-\frac{RGB(0,255,255)\times RGB(255,0,0)}{255}\\
&=&RGB(255,255,255)
\end{eqnarray}

という感じになり、結果的に白色になります。

覆い焼き

覆い焼きも、比較(明)と同じく、「明るくする系」のモードです。

  • 上のレイヤーの暗い部分は、そのまま透過する
  • 上のレイヤーの明るい部分は、下のレイヤーの「明るさ」と「コントラスト」を上げて透過する
▲前提 ▲合成結果

加算

加算は、比較(明)と同じく、「明るくする系」のモードです。

計算式としては以下のようになります。(重ねたレイヤー同士の色を加算する)

合成後 = 上のレイヤー + 下のレイヤー
▲前提 ▲合成結果

例えば、

  • 上のレイヤー:RGB(0,0,255)
  • 下のレイヤー:(RGB(255,255,0)

という場合、足し算して白(RGB(255,255,255))になります。

RGB(0,0,255) + RGB(255,255,0) = RGB(255,255,255)

各要素の上限は255なので、合成すればするほど白(RGB(255,255,0))に近づく事になります。

※足し算するだけなので、レイヤーの順番はどちらにしても結果はおなじになります。

比較(暗)

比較(暗)は、重ねたレイヤーのピクセルを比較し、暗い方のピクセルを表示するモードです。

つまり、全体的に暗くなります。

▲前提 ▲合成結果

例えば、

  • 上レイヤー:緑色(0,255,0
  • 下レイヤー:紫色(255,0,255)

という場合、それぞれの明るい部分が採用されるので、白(0,0,0)となります。

全体的に暗くしたいときなどに使用できます。

乗算

乗算は、比較(暗)と同じく、「暗くする系」のモードです。

  • どちらかのレイヤーの暗い部分は、暗くなる
  • どちらかのレイヤーに明るい部分は、もう一方のレイヤーの色と同じになる

つまり、全体的に暗くなります。

▲前提 ▲合成結果

焼き込み

焼き込みも、比較(暗)と同じく、「暗くする系」のモードです。

  • 上のレイヤーの暗い部分は、下のレイヤーの「明るさ」を下げて、「コントラスト」を上げて透過する
  • 上のレイヤーの明るい部分は、そのまま透過する
▲前提 ▲合成結果

オーバーレイ

GIMP2.8現在、「オーバーレイ」の合成結果が「ソフトライト」と同じになるという不具合があります。ソース

なので、GIMP2.8では「オーバーレイ」を使わないようにしましょう。(使う場合は「ソフトライト」を使うようにしましょう)

▲前提 ▲合成結果
(「ソフトライト」と同じ結果になる)

ソフトライト

ソフトライトは、「オーバーレイ」を弱くしたモードです。

  • 上のレイヤーの暗い部分は、下のレイヤーの「明るさ」を下げて透過する
  • 上のレイヤーの明るい部分は、下のレイヤーの「明るさ」を上げて透過する
▲前提 ▲合成結果

ハードライト

ハードライトは、「オーバーレイ」を強くしたモードです。

  • 上のレイヤーの暗い部分は、下のレイヤーの「明るさ」を下げて透過する
  • 上のレイヤーの明るい部分は、下のレイヤーの「明るさ」を上げて透過する
▲前提 ▲合成結果

差の絶対値

差の絶対値は、「上のレイヤーの画素の値」と「下のレイヤーの画素の値」の絶対値を取るモードです。

計算式としては以下のようになります。

合成後 = |上のレイヤー ー 下のレイヤー|
  • 上のレイヤの暗い部分は、そのまま透過する
  • 上のレイヤの明るい部分は、上のレイヤが階調反転して透過する
▲前提 ▲合成結果

減算

減算は、「暗くする系」のモードです。

計算式としては以下のようになります。(重ねたレイヤー同士の色を減算する)

合成後 = 上のレイヤー ー 下のレイヤー
▲前提 ▲合成結果

例えば、

  • 上のレイヤー:青(RGB(0,0,255))
  • 下のレイヤー:白(RGB(255,255,0))

という場合、引き算して黒(RGB(0,0,0,))になります。

RGB(0,0,255) ー RGB(255,255,255) = RGB(0,0,0,)

つまり、合成すればするほど黒(RGB(0,0,0)に近づく事になります。

微粒取り出し

微粒取り出しは、上レイヤーと下レイヤーの差異部分だけを抽出できるモードです。(たぶん・・)

▲同じ画像を重ねた状態で、片方のレイヤーを「移動」ツールでずらした様子
(エンボス加工のような表示になる)

微粒結合

粒状結合は、「微粒取り出し」で抽出した差分を、合成できるモードかもしれません・・。(いまいち分かりません・・)

▲「微粒取り出し」で抽出した差分レイヤーを、「微粒結合」で合成した様子
(「レイヤー2」と書かれたレイヤーが「微粒取り出し」で抽出した差分レイヤーです)

除算

除算は、上のレイヤを階調反転してから、下のレイヤと「加算」したような合成結果にできるモードです。

▲前提 ▲合成結果
(上のレイヤーのカラーバーは階調反転している

色相

色相は、上のレイヤの色相と下のレイヤの彩度・明度を合成するモードです。

※上側のレイヤーの彩度が 0 のとき、 下側のレイヤーから色相も使用する

▲前提 ▲合成結果
(この場合、上のカラーバーが下のレイヤーに透けている)

彩度

彩度は、上のレイヤの彩度と、下層レイヤの色相・明度を合成するモードです。

つまり、上のレイヤで下のレイヤの鮮やかさを調整できます。

▲前提 ▲合成結果

色は、上のレイヤの色相・彩度と、下のレイヤの明度を合成するレイヤモードです。

つまり、上のレイヤで下のレイヤを着色できます。

▲前提 ▲合成結果

明度

明度は、上のレイヤの明度と、下のレイヤの色相・彩度を合成するレイヤモードです。

つまり、上層レイヤで下層レイヤの明るさ調整できます。

▲前提 ▲合成結果

まとめ

モード名と(主な)用途のまとめです。

モード名 系統 主な用途
(もちろん、ここに書いている用途以外にも様々な使い道があります)
通常 単純に合成する系のモード 単純に合成したいとき
ディザー合成 アイデア次第(ラメ加工のようにオシャレな見た目にしたり・・?)
比較(明) 明るくする系のモード 明るい部分だけを集めたいとき
スクリーン 明るい部分をより明るくしたいとき(明るさのみが変わる)
覆い焼き 明るい部分をより明るくしたいとき(明るさとコントラストが変わる)
加算 全体的に明るくしたいとき(レイヤーとレイヤーを足す)
比較(暗) 暗くする系のモード 暗い部分だけを集めたいとき
乗算  暗い部分をより暗くしたいとき(明るさが変わる)
焼き込み  暗い部分をより暗くしたいとき(明るさとコントラストが変わる)
オーバーレイ 明暗を強調する系のモード 暗いところはより暗く、明るい所はより明るくしたいとき

※効果の強さとしては、ソフトライト < オーバーレイ < ハードライト という順番(ハードライトが一番強い)

※ただし、GIMP2.8では「オーバーレイ」が不具合で動作しない

ソフトライト
ハードライト
差の絶対値  レイヤー同士を比較する系のモード  レイヤーの色を部分的に反転させたいとき
減算  全体的に暗くしたいとき(レイヤーとレイヤーを足す)
微粒取り出し  レイヤー間の差異を抽出したいとき
微粒結合  「微粒取り出し」したレイヤーを元に戻したいとき(?)
除算  上のレイヤを階調反転してから、下のレイヤと「加算」したような合成結果にしたいとき
色相 ・色相
・彩度
・色(色相・彩度)
・明度などの値を使って合成するモード
 色相・彩度・明度で比較するモード
彩度
明度

このページの情報は以上です。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする