GIMPにおける合成の「モード」の種類の違いについてメモ。
目次
モードとは?
モードは、レイヤーを重ねる際に、「どのようにピクセルを計算して重ねるか」を設定できる機能です。
レイヤーダイアログの一番上にある「モード」で設定できます。
前提
このページでは、レイヤーのモードを解説するために、以下↓のような2つの画像を、
▲上レイヤー ・左から右にかけて白黒グラデーション ・一番上に9色のカラーバー ・カラーバー下に円状の透明 ・左に白文字で「白」 ・右に黒文字で「黒」 |
▲下レイヤー ・女の人の画像(ぱくたそ様) ・一番下に9色のカラーバー |
以下↓のように、2つ重ねて比較しています。
▲矢印の方向から見る(上レイヤー → 下レイヤーという順番に重なっている) |
※注意
各モードの合成結果は、レイヤーの色に非常に大きく左右されます。
なので、このページで貼っている画像を見ただけでは、モードの機能を完璧に理解するのは(恐らく)ムリです。
モードの機能を完璧に理解したい人は、自分で色々な画像を使って、使ってみるのが一番です。
モードの違い
標準
標準は、単純に合成するモードです。
レイヤーの上にレイヤーをそのまま重ねます。
▲前提 | ▲合成結果 (上レイヤーの透明な部分は、そのまま透けて見える) |
ディザー合成
ディザー合成は、透明が低い部分の画素が、ランダムに透明になるモードです。
↓の例では、「虹」の画像の透明度をそれぞれ変えた例です。
▲前提 | ▲合成結果 (上レイヤーの透明な部分が、ディザで表示されるようになる) |
例えば、レイヤー自体の透明度を変更すると、全体がディザで表示されます。↓
▲透明度を変更している様子 |
比較(明)
比較(明)は、重ねたレイヤーのピクセルを比較し、明るい方のピクセルを表示するモードです。
つまり、全体的に明るくなります。
▲前提 | ▲合成結果 |
例えば、
- 上レイヤー:緑色(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では「オーバーレイ」が不具合で動作しない |
ソフトライト | ||
ハードライト | ||
差の絶対値 | レイヤー同士を比較する系のモード | レイヤーの色を部分的に反転させたいとき |
減算 | 全体的に暗くしたいとき(レイヤーとレイヤーを足す) | |
微粒取り出し | レイヤー間の差異を抽出したいとき | |
微粒結合 | 「微粒取り出し」したレイヤーを元に戻したいとき(?) | |
除算 | 上のレイヤを階調反転してから、下のレイヤと「加算」したような合成結果にしたいとき | |
色相 | ・色相 ・彩度 ・色(色相・彩度) ・明度などの値を使って合成するモード |
色相・彩度・明度で比較するモード |
彩度 | ||
色 | ||
明度 |
このページの情報は以上です。