AIRアプリでGPUモードでもフィルターを表示する方法
GPUオンのスマフォAIRでも文字に縁取り線を書くメソッド(普通は縁取りが勝手に消えてしまう。)を以前公開しましたが、下記のメソッドなら、もっと簡単にあらゆるフィルターエフェクトを実現できることにきづきました。フィルターエフェクト、見た目的には表示されないけど、BitmapDataでdrawはきるんですね。
public static function convertToBmp(m:DisplayObject):Function{ var bmd:BitmapData = new BitmapData(m.width, m.height, true, 0); var bmp:Bitmap = new Bitmap(bmd, PixelSnapping.AUTO, true); var mat:Matrix = new Matrix(); var rect:Rectangle = m.getBounds(m); mat.tx = - rect.x; mat.ty = - rect.y; bmd.draw(m, mat); m.visible = false; m.parent.addChild(bmp); bmp.x = m.x; bmp.y = m.y; return function():void{ bmd.dispose(); m.parent.removeChild(bmp); }; }
縁取り線つきアイテム名に実行したキャプチャ。「虹の帽子」の部分。
※ボケてるのは無理やり引き延ばしてるためです。