1

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

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

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

4

2 回答 2

1

您可以找到一篇非常有趣的文章,介绍使用矢量和 getVector 方法处理像素。

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

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

于 2012-08-15T07:48:41.533 回答
0

您也许可以通过使用 bitmapData.getColorBoundsRect() 并检查非透明像素来加快速度。

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

// returns bounds rectangle for all non transparent pixels
bitmapData.getColorBoundsRect(0xFFFFFFFF, 0x000000, false);
于 2012-08-14T19:31:53.310 回答