透明ビットマップ上のランダム/単一ピクセルがゼロでないかどうかを確認する従来の方法を使用しています。bitmapData.getPixel32(x,y)!=0
しかし、これはちょっとパフォーマンスが重いので、これを行うためのより速い方法はありますか? おそらくbyteArrayを使用して、これを行う方法があるに違いないと思いますか?
どうすればこれを最善の方法で行うことができますか? 前もって感謝します!
透明ビットマップ上のランダム/単一ピクセルがゼロでないかどうかを確認する従来の方法を使用しています。bitmapData.getPixel32(x,y)!=0
しかし、これはちょっとパフォーマンスが重いので、これを行うためのより速い方法はありますか? おそらくbyteArrayを使用して、これを行う方法があるに違いないと思いますか?
どうすればこれを最善の方法で行うことができますか? 前もって感謝します!
vector と getVector-method を使用したピクセルの操作に関する非常に興味深い記事を見つけることができます。
Mike Chambers は、Grant Skinner のパフォーマンス ツールの助けを借りて、これに関するケース スタディを行い、AS3 でパフォーマンスを向上させる方法を調べていました。ここでそれについてすべて読んでください:
http://www.mikechambers.com/blog/2009/10/13/case-study-actionscript-3-performance-optimization/
bitmapData.getColorBoundsRect() を使用して非透明ピクセルをチェックすることで、おそらく少し速度を上げることができます。
四角形の外側のすべてのピクセルは透明でなければならないことがわかっているため、境界四角形の内側のピクセルのみを確認する必要があります。
// returns bounds rectangle for all non transparent pixels
bitmapData.getColorBoundsRect(0xFFFFFFFF, 0x000000, false);