2012年9月26日水曜日

並んだパイプ


上の黒い画面内でマウスを動かすとパイプが並んだような画像が描かれます。マウスの横方向の動きに応じてパイプの太さが変化します。


グラデーションの作成にサイン関数を使ってパイプっぽい丸みを出しています。単純な画像ですが、手作業ではけっこう作りにくいんじゃないでしょうか。

昔FilterFactoryで作ったのと同じですが、これをFlashで再現しようとして、どうやったらグレースケールのグラデーションを作る事ができるんだろう?と、困りました。

要は各チャンネル値が同じ、R=G=Bという状態にしてやればいいのですが、FilterFactoryではR, G, Bというフィールドが用意されていてそれぞれに同じ値を入れてやればグレースケール画像になったので特に意識もしなかったのです。

FlashではR, G, B, A(アルファ)に各8ビットの計32ビットでピクセルの色を表しているので、シフト演算子を使って各チャンネルの色を8ビットずつずらして32ビットに合成することで、このときR=G=Bにしてグレースケール画像を作れる事を学びました。

これもいったんこの仕組みが出来てしまえばあとは各チャンネルの色を考えるだけですから、FilterFactoryと同じことになります。

0 件のコメント:

コメントを投稿