#wp7dev_jp

さて、前回の 写真をぼかす 改め加工する Part 5 レイヤー合成 で、2つの画像を乗算で合成するアプリを作りました。

あとは、レイヤースタイルを変えるだけでいろいろな処理を実装できます。

オーバーレイ

Photoshop のフォトレタッチでよく使われるものの中に オーバーレイという機能があります。

オーバーレイの処理は、各点の明るさの暗い場合は、乗算と同じ処理をし、明るい場合はスクリーン(反転画像の乗算)処理をします。
結果として、明るい部分は明るく暗い部分は暗くなりながらマスクフィルタ画像が重ね合わせられます。

この機能は結構重要なのでうまく使えると便利そうです。

C#の変更

では、前回の乗算をオーバーレイに変えてみます。

//// 乗算
//A = A1 * A2 / 255;
//R = R1 * R2 / 255;
//G = G1 * G2 / 255;
//B = B1 * B2 / 255;
//オーバーレイ
if (R1 < 128) R = 2 * R1 * R2 / 255;
else R = 2 * (R1 + R2 - R1 * R2 / 255) - 255;
if (G1 < 128) G = 2 * G1 * G2 / 255;
else G = 2 * (G1 + G2 - G1 * G2 / 255) - 255;
if (B1 < 128) B = 2 * B1 * B2 / 255;
else B = 2 * (B1 + B2 - B1 * B2 / 255) - 255;
if (R > 255) R = 255;
if (G > 255) G = 255;
if (B > 255) B = 255;
結果

さて、オーバーレイを加えるといい感じに(適当) フィルタ画像が画像に載るようになります。処理時間も 0.1秒未満で処理できるので問題なし。

元画像

image image

オーバーレイ処理後 (右は乗算処理))

image image

いいよね!

関連リンク