Photoshopにおける,レイヤーのブレンドモードについて
さて,Photoshopにおいて,レイヤーはとても重要な役割を示しますが,その中でもブレンドモード(描画モード)はとても便利な機能です.
しかし,中身はほとんど把握しておらず,いろいろ試してみて,その中で良さそうなものを使っているのが現状です.
数式として,ちゃんと理解したいと思い,いろいろサイトを探してみましたが,とてもわかりやすく書いてあるサイトがあったので,参考にさせていただきました,ありがとうございます.
詳しくは,こちらのサイト,こちらのサイト,こちらのサイト,こちらのサイト,をご覧ください.
基本的には,描画モードでは,各色の明度(Brightness)を利用しています.
ご存じのように,32ビットの色では,RGBの三原色を,8ビットずつ階調を規定します,つまり0~255段階までです.
RGBすべてが0だと黒,すべてが255だと白,となります.
色 | R | G | B |
白 | 255 | 255 | 255 |
黒 | 0 | 0 | 0 |
赤 | 255 | 0 | 0 |
緑 | 0 | 255 | 0 |
青 | 0 | 0 | 255 |
黄 | 255 | 255 | 0 |
シアン | 0 | 255 | 255 |
マゼンタ | 255 | 0 | 255 |
この中で,明度,とは,
RGBの中で最大の値
と非常に簡単な定義です.
では,次からPhotoshopのブレンドモードについて考えていきましょう.
これは,緑っぽいレイヤーの上に,赤っぽいレイヤーを重ね合わせたもので,中央部がオーバーラップしています.
各色のRGBの値は,
色 | R | G | B |
緑っぽい | 25/Rt | 220/Gt | 140/Bt |
赤っぽい | 244/Rb | 24/Gb | 24/Bb |
で,上記の記号を使うことにします.
また,オーバーラップの部分を,Ro, Go. Boと名前をつけます.
・ 通常モード
このモードでは,オーバーラップ部分は,常に上のレイヤーとなりますので,
Ro = Rt = 25
Go = Gt = 220
Bo = Bt = 140
となり,
と赤の色となります.
・ ティザ合成
・ 比較(暗)
このモードではレイヤー間で低い値を採用することになり,
Ro = Rt = 25
Go = Gb = 24
Bo = Bb = 24
と黒っぽくなります.
・ 乗算
このモードでは,上下レイヤーの値を乗算して,255で割ります
Ro = Rt×Rb÷255 = 25×244÷255 = 23.92 ≒ 24
Go = Gt×Gb÷255 = 24×220÷255 = 20.71 ≒ 21
Bo = Bt×Bb÷255 = 24×140÷255 = 13.18 ≒ 13
となり,
となります.
・ 焼き込みカラー
このモードではちょっと複雑に,
Overwrap = 255-(255-Bottom)*255/Top
なる計算をします,従って,
Ro = 255-(255-244)*255/25 = 142.8 ≒ 143
Go = 255-(255-24)*255/220 = -12.75 ≒ 0
Bo = 255-(255-24)*255/140 = -165.75 ≒ 0
です.ここで注意すべき点は,
Topが0,もしくは,結果がマイナスの場合は,0,となります.
・ 焼き込み(リニア)
このモードは,
二枚のレイヤーの各RGBの和が,
255以下:0
255以上:二枚の値の和-255
です.
・ カラー比較(暗)
このモードは,
二つのレイヤーのRGBの和を比較して,低い方の値を示す
です.
25+220+140=385 > 244+24+24=292
なので,赤っぽい色が採用されます.
・ 比較(明)
このモードではレイヤー間で高い値を採用することになり,
Ro = Rb = 244
Go = Gt = 220
Bo = Bt = 140
となり,
となります.
・ スクリーン
このモードではちょっと複雑に,
Overwrap = Bottom+Top-Bottom*Top/255
なる計算をします,従って,
Ro = 244+25-244*25/255 = 245.08 ≒ 245
Go = 24+220-24*220/255 = 223.29 ≒ 223
Bo = 24+140-24*140/255 = 150.82 ≒ 151
となり,
となります.
・ 覆い焼きカラー
このモードではちょっと複雑に,
Overwrap = Bottom*255/(255-Top)
なる計算をします,従って,
Ro = 244*255/(255-25) = 270.5 ≒ 255
Go = 24*255/(255-220) = 174.86 ≒ 175
Bo = 24*255/(255-140) = 53.22 ≒ 53
です.ここで注意すべき点は,
結果が255以上の場合は,255,となります.
・ 覆い焼き(リニア)-加算
実はこれが一番簡単,
各色を単純加算,255以上は255
これだけです.
R:25+244=269 -> 255
G:220+24=244
B:140+24=164
です.
・ カラー比較(明)
このモードは,
二つのレイヤーのRGBの和を比較して,高い方の値を示す
です.
25+220+140=385 > 244+24+24=292
なので,赤っぽい色が採用されます.
・ オーバーレイ
この場合では,下の色の値で条件が変わり,
Bottom < 128 の場合
Bottom*Top*2/255
Bottom >= 128 の場合
2*(Bottom+Top-Bottom*Top/255)-255
となります,従って,
Ro = 2*(244+25-244*25/255)/255-255 = 235.16 ≒ 235
Go = 24*220*2/255 = 41.41 ≒ 41
Bo = 24*140*2/255 = 26.35 ≒ 26
となり,
となります.
・ ソフトライト
上記参考サイトの計算ではちょっと値が違うので保留にします
・ ハードライト
この場合では,下の色の値で条件が変わり,
Bottom > 128 の場合
Bottom*Top*2/255
Bottom <= 128 の場合
2*(Bottom+Top-Bottom*Top/255)-255
となります,従って,
Ro = Bottom*Top*2/255 = 47.84 ≒ 48
Go = 2*(24+220-24*220/255)/255-255 = 191.59 ≒ 192
Bo =2*(24+140-24*140/255)/255-255 = 46.65 ≒ 47
となり,
となります.ちょうどオーバーレイの条件が逆転しているもののようです.
参考サイトでは,条件がオーバーレイと同じでした,また,Boがこれだけ小数点以下切り下げのようです(Photoshoでは46).
・ ビビッドライト
これは結構複雑で,
Top < 128の場合
1.Bottom < 255-2*Topの場合:0
2.Bottom > 255-2*Topの場合:(Bottom-(255-2*Top))/(2*Top)
Top > 128の場合
3.Bottom < 2*(255-Top)の場合:Bottom/(2*(255-Top))*255
4.Bottom > 255-2*Topの場合:255
です.今回の場合.
R:ケース2に相当:(244-(255-2*25))/(2*24) = 198.9 ≒ 199
G:ケース3に相当:24/(2*(255-220))*255 = 87.43 ≒ 87
B:ケース3に相当:24/(2*(255-140))*255 = 26.61 ≒ 27
となり,
となります(Bはまた切り下げで,26となっています)
・ リニアライト
これは結構複雑で,
Top < 128の場合
1.Bottom < 255-2*Topの場合:0
2.Bottom > 255-2*Topの場合:2*Top+Bottom-255
Top > 128の場合
3.Bottom < 2*(255-Top)の場合:2*Top+Bottom-255
4.Bottom > 255-2*Topの場合:255
と,ケース2,3が同じです.今回の場合.
R:ケース2に相当:2*25+244-255 = 39
G:ケース3に相当:2*220+24-255 = 209
B:ケース3に相当:2*140+24-255 = 49
となり,
となります.
・ ピンライト
これは結構複雑で,
Top < 128の場合
1.Bottom < 255-2*Topの場合:Bottom
2.Bottom > 255-2*Topの場合:2*Top
Top > 128の場合
3.Bottom < 2*Top-255の場合:2*Top-255
4.Bottom > 2*Top-255の場合:Bottom
と,ケース2,3が同じです.今回の場合.
R:ケース2に相当:2*25 = 50
G:ケース3に相当:2*220-255 = 185
B:ケース3に相当:2*140-255 = 25
となり,
となります(BがPhotoshopでは24でしたが..)
・ ハードミックス
・ 差の絶対値
これは,読んで字のごとく,差分の絶対値なので,
Ro =|25-244|= 219
Go =|220-24|= 196
Bo =|140-24|= 116
となり,
となります.
・ 除外
このモードではちょっと複雑に,
Overwrap = Bottom+Top-2*Bottom*Top/255
なる計算をします,従って,
Ro = 244+25-2*244*25/255 = 221.16 ≒ 221
Go = 24+220-2*24*220/255 = 202.59 ≒ 203
Bo = 24+140-2*24*140/255 = 137.65 ≒ 138
となり,
となります.
ここでもGだけは切り捨てとなり,202,ですねえ....
・ 減算
このモードでは,
Bottom-Top
と言う単純計算で,マイナスとなったら0とします
Ro = 244-25 = 219
Go = 24-220 = -196 -> 0
Bo = 24-140 = -116 -> 0
となり,
となります.
・ 除算
このモードでは,
Bottom/Top*255
の計算で,255以上を255とします.
Ro = 244/25*255 = 2488.8 -> 255
Go = 24/220*255 = 27.82 ≒ 28
Bo = 24/140*255 = 43.71 ≒ 44
となり,
となります.
・ 色相
・ 彩度
・ カラー
・ 輝度
まだいくつかわからないモードがありますので,追って追加していきます.