有没有更快的方法来使用AS3检查BitmapData.getPixel32()?

时间:2012-08-14 19:17:23

标签: performance actionscript-3 actionscript bitmap bitmapdata

我使用传统方法检查透明位图上的随机/单个像素是否为非零,使用bitmapData.getPixel32(x,y)!=0

但有没有更快的方法来做到这一点,因为这有点性能。我认为必须有办法做到这一点,也许使用byteArray?

我怎样才能以最好的方式做到这一点?提前谢谢!

2 个答案:

答案 0 :(得分:1)

你可以在vector和getVector-method的帮助下找到一篇关于使用像素的非常有趣的文章。

Mike Chambers在Grant Skinner的表演工具的帮助下对此进行了案例研究,并正在研究提高AS3性能的方法。在这里阅读所有相关内容:

http://www.mikechambers.com/blog/2009/10/13/case-study-actionscript-3-performance-optimization/

答案 1 :(得分:0)

使用bitmapData.getColorBoundsRect()并检查非透明像素,可能会加快速度。

然后你只需要检查里面的像素矩形,因为你知道矩形外的所有像素都必须是透明的。

// returns bounds rectangle for all non transparent pixels
bitmapData.getColorBoundsRect(0xFFFFFFFF, 0x000000, false);