我使用传统方法检查透明位图上的随机/单个像素是否为非零,使用bitmapData.getPixel32(x,y)!=0
但有没有更快的方法来做到这一点,因为这有点性能。我认为必须有办法做到这一点,也许使用byteArray?
我怎样才能以最好的方式做到这一点?提前谢谢!
答案 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);