なんとなく、からぬけだそう。知っておきたい描画モードの仕組み

なんとなく、からぬけだそう。知っておきたい描画モードの仕組み

2016.09.14
topimage_blog
ノウハウ
ハローエブリワン、(あ、間違った)こんにちは!
2回目の投稿となりましたデザイナーのiriaです。

最近業務でバナーを作成する機会が多くなり画像を加工する頻度も比例して増えているので、今回はPhotoshopなどで画像加工をする時に大変便利な描画モード(ブレンドモード)の仕組みについて書かせて頂こうと思います。

紹介する描画モード

info01
仕組みの説明には計算式を用いておりますが、いずれも複雑な式ではないので数式に抵抗のある方や、そもそも画像加工ツールを利用する頻度が少ない方でも、ざっくりと概要を把握していただけるのではないかと思います。

はじめに・知っておいてほしいポイント

環境はPhotoshop、RGB値の範囲を0~255(8bit)前提で説明させていただきます。解説させて頂くにあたり、前提知識として以下のポイントを抑えておいて下さい。

  1. 1pxの中には「R(赤): 0~255・G(緑): 0~255・B(青): 0~255」の3種類の色情報が入っている
  2. RGB値0以下は黒、255以上は白
  3. 255から対象の色のRGB値を引くと色が反転する

info02

「描画モードは画像合成処理です」、というとなにやら小難しく聞こえるかもしれませんが、画像にレイヤーを1枚被せるイメージです。被せるレイヤーの方に描画モードの設定を施すので、元画像には一切手を加えることなく何回でもやり直しが利くのが特徴です(「非破壊編集が可能」とも言います)

ここでいう元画像の方の色を基本色(重ねられるレイヤーの方の色)・被せるフィルターの方の色を合成色(重ねる方の色)と言います。

sozai01

色彩学的に合成(Composite)とは2つ以上の画像を重ねることを指しているので、画像合成処理とは、基本色と合成色同士でpx単位の計算を行うこととも言えます。つまり、基本色と合成色のレイヤーの重なり合ったpx部分のR,G,B値同士が計算されるということです。(計算方法は描画モードの種類によって異なります。)

少し前置きが長くなりました、早速いってみましょう。

覆い焼き(リニア) – 加算

このモードが最も単純な仕組みです。

結果色 = 基本色 + 合成色

基本色と合成色のRGB値の加算結果が適用されるだけです。

加算なので当然結果のRGB値は上がりますよね、つまり255(白)に近づく→明るくなるということ。黒はRGB値が0なので、黒いレイヤーを「覆い焼き(リニア) – 加算」で被せても変化はありません。また、(これは他の合成モードにも共通して言えることなのですが)結果が255を超えた場合はすべて255扱い(白)になります。

乗算

次は乗算です。
文字通り、基本色と合成色の乗算(掛け算)ですが、前述した覆い焼き(リニア) – 加算の様に結果をそのまま適用するとRGBの上限値である255を超えてしまう場合が多そうですね。

でも「乗算フィルターを被せたら色が白になってしまった」なんて経験は多分殆ど無いと思います。乗算を適用すると、むしろ暗くなるんですよね、それは乗算後に255で割っているから。

結果色 = 基本色 * 合成色 / 255

除算するまでが乗算なのです。(言葉だけだとすごい矛盾感)

適当な写真に白や黒の乗算レイヤーを被せて検証してみます。
jyosan

白の乗算の場合、何も変化ありませんね。RGB255の白を255で割れば1になり、1を掛けても結果は変わらないからです。

逆に黒だと真っ黒になってしまいますね。この現象も式で説明できます。
乗算と除算のみで構成された式の中に0(黒のRGB値)が入っていることになるので結果は0、黒の乗算は黒ということです。

スクリーン

ここから話が少々ややこしくなるので結論から先に言ってしまいますと、スクリーンは乗算結果の逆です。乗算の結果が基本色より暗くなるのに対し、こちらは基本色より明るくなります。「加法混色」なんて呼ばれていますね。

適用式がやや複雑で適用後の結果色を予想しづらいため、慣れないうちはスクリーンフィルタを積極的に活用出来ないかもしれません。(筆者は光沢感というか、ちょっと明るめのツヤを出したい時などに使っております。)

結果色 = 基本色 + 合成色 – 基本色 * 合成色 / 255

適用式は上記のようになりますが、分解してしまえばわかりやすいかと思われます。

「基本色 * 合成色 / 255」部分で乗算したものを「基本色 + 合成色」全体の和から「-」引いている(反転させている)だけなので。乗算結果の逆ですね。

sozai_032

オーバーレイ

オーバーレイは、前述した覆い焼き(リニア) – 加算乗算スクリーン等の明暗のグループではなく、コントラスト(対比)のグループに属するものです。そもそも前提となる分類が異なります。

この効果を適用すると明るい箇所はより明るく・暗い場所はより暗くなる、いわゆるコントラスト効果があることにお気づきになられるかと思います。主線色を変更したり、画面全体の雰囲気を容易く一変させたりすることが出来るのでかなり便利ですよね。多重適用で何処と無く幻想的な雰囲気になりますが、使いすぎると視覚的に煩くなってしまう場合があるので注意したいところです。

over_ray

こちらも結論から先に述べさせていただきますと、オーバーレイとは「乗算とスクリーンの組み合わせ(のようなもの)」です。(敢えて「のようなもの」というような書き方をした理由については後述します)

「組み合わせ」という言葉のニュアンスから、式の中に乗算式とスクリーンの式が混在しているようなイメージを持たれてしまう恐れがありますが、実際はRGBの中間値である128未満か以上かで乗算かスクリーンかを切り替えています。

式にするとこんな感じです。

基本色 < 128 の場合

結果色 = 基本色 * 合成色 / 255 * 2

基本色 ≧ 128 の場合
結果色 = 2 * (基本色 + 合成色 – 基本色 * 合成色 / 255) – 255

ちなみに、基本色の中間値で条件分岐させているのがオーバーレイであるのに対し、合成色の中間値で条件分岐させているのがハードライトです。

式に2が掛けられているのは、明度値のバランスを調整(スケーリング処理)するためです。単純に乗算とスクリーンを中間値の128で切り替えて適用した場合、明度に極端な落差が生じてしまうので正規化する必要があるのです。(これが「のようなもの」というような書き方をした理由になります)

中間値で明度バランスを補正する仕組みに関してはこちらの記事が参考になります。

Photoshopの描画モード(ブレンドモード)を理解するための、画像合成は計算だという話 | 俺CG屋

まとめ

  1. 覆い焼き → 加算で明るくなる
  2. 乗算 → 乗算して(の後255で割って)暗くなる
  3. スクリーン → 乗算の逆・やや明るくなる
  4. オーバーレイ → コントラストが上がる・乗算とスクリーンを中間値で使い分けている

すごくざっくりですが、この程度の理解で十分かと思います。

さいごに

お恥ずかしながら、筆者は今まで描画モードを100%感覚で使っており、内部でどのような処理がおこなわれているのか然程気にしていませんでした。

しかし感覚に任せて作業していると、暗くしたいのにスクリーンを使おうとしたり、コントラストを抑えたりするのにオーバーレイを検討するなどの無駄なアクションを起こしてしまうリスクがどうしても付き纏ってしまいます。(しかもそれが無駄な行為だということすら自覚することも無いのです、恐ろしいことですね。)

仕組みを理解した上で使い分けできるようになれば効率はあがるので、1ミスにつき5秒くらいかもしれませんが僅かなタイムロスを防止できるかなと思います。

話が業務の効率化になってしまいましたが、Photoshopの様な画像加工環境が無くともGIMPなどの便利なフリーソフトは数多あるので、加工技術に少しでも興味の湧いてきた方はこれを機に是非試していただきたいです。


ではでは今回はこのへんで、お読みくださりありがとうございました !
アディオス !

参考にさせて頂いたサイト

Photoshopのブレンドモードがよく分からない人のための手引き その① | Handy Web Design

dunnbypaul.net/blends

 

編集部オススメ

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

あわせて読みたい記事

この記事を書いたメンバー

iria

iria

Designer

2015年入社・趣味はゲームとか散歩です

ドワンゴデザイナー メンバー募集 ! !