让我解释一下我想要实现的目标。我想创建一种图像的“年龄图”。这意味着每一帧
有没有办法有效地执行此操作而不循环遍历所有像素并调用getPixel
/ setPixel
?
为了重置修改后的像素,我正在考虑使用bitmapData.draw()
,并结合使用blendModes / colorTransform;例如使用0 colorTransform在年龄图上绘制形状,保留形状但使形状变为黑色,即0x000000
。
然而,将每个像素递增1可能更棘手。我可以创建包含所有0x000001
值的图片,并使用.draw()
每帧添加它,但使用BlendMode.ADD
剪辑0xFF
处的每个频道,只允许255个不同的年龄值。
有效解决此问题的任何建议?我可以在整个图片中应用ColorTransform
或ColorMatrixFilter
吗?
答案 0 :(得分:1)
编写自定义PixelBender滤镜,这比迭代像素要快得多:
如果您以前从未使用过,这可能会有所帮助:
http://tv.adobe.com/watch/adc-presents/pixel-bender-custom-filters/
我自己对PB有点生疏,抱歉我无法提供更具体的建议,但知道这是可能的,GPU支持意味着它足够快,可以使用。