加法混色と減法混色(2)

2012 / 09 / 14 by
Filed under: Coding の素 
Bookmark this on Delicious
[`livedoor` not found]
[`yahoo` not found]

加法混色と減法混色の話の続き。

前回は、白ベタ塗りの BitmapData から作った3原色の表示オブジェクトのブレンドモードを単純に入れ替えるだけで、加法混色と減法混色が示されることを確認しました。
今回は、白ベタ塗りの BitmapData ではなくて、読み込んだ写真の BitmapData を使って、加法混色と減法混色を見てみます。

加法混色と減法混色(2) – wonderfl build flash online

単純に、白ベタ塗りにした BitmapData を、読み込んだ画像から抜き出した BitmapData に差し替えたコードを組んだところ、うまくいきませんでした。
加法混色は問題ないんですが、減法混色で問題発生。 BlendMode.SUBTRACT で、3つのチャンネル表示オブジェクトを重ねたところ、色が反転した状態になりました。

だったら、読み込んだ画像から抜き出した BitmapData をチャンネル分割前に色反転させて、その反転した BitmapData をチャンネル分割してみますかね。
ってなわけで、加法混色用の3色 Red、Green、Blue と、減法混色用の3色 Cyan、Magenta、Yellow の合計6個の単チャンネル BitmapData を生成するという、実に何とも泥臭いコードで対処したのが、冒頭のものです。

なんともスマートでないやり方ですが、でもまぁ、作品的な何かにする場合、加法混色と減法混色を一緒に扱うようなことはしないだろうから、テスト・コードってことで、これで良いでしょう。

ところで wonderfl でザッと見たところ、以下の作品で減法混色を扱っていました。

ちなみに、これらのコードのブレンドモードを見てみると、上4つでは BlendMode.MULTIPLY、下2つでは BlendMode.SUBTRACT が使われています。
BlendMode.MULTIPLY を使う場合、チャンネル分割前に色反転させる必要はないもよう。

ところで混色とは全く関係ないですが、話題の Tween24 使ってみました。「使った」なんておこがましいくらい簡単なことしかしてませんが。それにしても Tween24 はコード記述が楽チンでイイですねぇ。



Comments

Tell me what you're thinking...
and oh, if you want a pic to show with your comment, go get a gravatar!





WP-SpamFree by Pole Position Marketing