bitmapData.draw(mc); を連続して実行すると

bitmapDrawDraw.jpg

透明な bitmapData インスタンスを生成し、空のムービークリップに attachBitmap した後、次のような命令を実行するとします。

  1. 画面左上の “mc1″ を draw する。
    myBitmapData.draw(mc1);
  2. さらに、同じ myBitmapData に対して、透明な領域を持つ “mc2″ を draw する。上書きする感じですね。
    myBitmapData.draw(mc2);

さて、どうなるでしょうか?
すごく基本的なことですが、最近知りました。

僕は今まで、draw した bitmapData に対して、もう一度 draw すると、前のキャプチャは消えてしまうのだと勘違いしていました。そうではなくて、上書きで draw する対象となるムービークリップが、アルファチャンネルを持っている場合、レイヤー効果のように重ねて合成してくれるのですね。

こちらの反射表現のサンプル(AS3版、こちらも透明表現なので、重なりには未対応?)で知りました。copyChannel とか marge とか、わざわざ難しい処理をしなくても、draw の連発で対応できるケースがあるので、覚えておこうと思いました。おもさげながんす。

このエントリーをはてなブックマークに追加
はてなブックマーク - bitmapData.draw(mc); を連続して実行すると

Comments:3

ひろゆき 07-02-02 (金) 16:53

透過したBitmapDataをdrawしたことがないと、
draw =「塗り重ねていく」って、気づかないですよね。

わたしは、fillRectで「塗りつぶし」ができることを最近知りました。

tera 07-02-02 (金) 18:09

基本がズッポリ抜けている現状の僕のスキルで、今後AS3に移行していかないといけないので、先が思いやられる今日この頃です。

so 08-09-02 (火) 10:03

細かくてアレだけど。最初のパラグラフ。
> 透明な bitmapData インスタンスを生成し、空のムービークリップに artachBitmap
attachBitmap、でしょ。

参考になったので感謝。

Comment Form
Remember personal info

Trackbacks:0

Trackback URL for this entry
http://www.trick7.com/blog/2007/02/01-233405.php/trackback
Listed below are links to weblogs that reference
bitmapData.draw(mc); を連続して実行すると from trick7

Return to page top