イナヅマTVログ

AS3, 作成済みBitmapDataを違う色で塗りつぶしたい

| 0件のコメント

作成した BitmapData を違う色で塗りつぶすメモ。

最初に BitmapData.colorTransform を使おうとしたけど、これだとオリジナルカラーに乗算されてしまう様子。
なんか初期化する手順が抜けてるんだろうなー

BitmapData.draw を使ったら希望の動作になった。

// var originalBitmapData: BitmapData
var rect:Rectangle = originalBitmapData.rect;
// var rgb:Array = [r:Number, g:Number, b:Number]
var changedColorTransform:ColorTransform = new ColorTransform(rgb[0], rgb[1], rgb[2]);
whiteBitmapData:BitmapData = new BitmapData(rect.width, rect.height, false, 0xffffff);
originalBitmapData.draw(whiteBitmapData, null, changedColorTransform);

もっと「チャカ」っと処理できないかなぁー。

カメラ画像をブロックにわけそのブロックのRGB値平均をもとに塗りつぶしてみた。
モザイクフィルタを使ったように見えるのが残念。

DEMOフィアルを作ってみました。
DEMOファイルを見るにはFlash Player 10とWeb camが必要になります。

現在進行中のプロジェクト用に作っているのですが、まだまだ開発中です。
メモリオーバーでハングアップする可能性があります。
ご覧になる際は充分ご注意してください。

スペースバー・ダウンでキャプチャーの START / STOP を切替えています。
スペースバーをダウンしても反応しない時は一度画面をクリックしてからお試しください。

デモファイル

GUMBO + Flex SDK 4.0

コメントを残す

必須欄は * がついています


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください