AS3中的反黑白单色位图数据

Tom*_*Tom 1 flash actionscript-3

我想知道在AS3中是否有任何反转黑白/单色位图数据的好方法,这些方法不涉及通过逐像素设置每个像素?

J. *_*mes 10

查找bitmapData.colorTransform()[ docs ]和ColorTransform班级[ docs ]

您可能想要应用以下内容:

var bd:BitmapData;
var invertTransform:ColorTransform = new ColorTransform(-1,-1,-1,1,255,255,255,0)
db.colorTransform(db.rect, invertTransform)
Run Code Online (Sandbox Code Playgroud)

将每个像素乘以-1,然后加上255.因此255将变为0,0将变为255.


Vla*_*kov 8

还有另一种解决方案.每个显示对象都具有blendMode属性,并且能够根据该混合模式更改背景对象的颜色.您所要做的就是用另一个显示对象覆盖位图对象并设置其混合模式.它与蒙版非常相似,但适用于颜色而不是形状.

colorCoverObject.blendMode = BlendMode.INVERT;
Run Code Online (Sandbox Code Playgroud)

colorCoverObject应该是透明的物体.