转换BitmapData对象的单通道

时间:2009-12-30 11:40:00

标签: flash actionscript-3 transform alphablending bitmapdata

我有一个带alpha通道的BitmapData对象。我想知道在ActionScript3(FlashPlayer10)中偏移alpha通道的紧固方式。通过偏移我的意思是在一个方向上移动该通道的所有像素(环绕图像边界),同时保留颜色通道。

有没有一种方法可以将这种转换仅应用于一个通道?

2 个答案:

答案 0 :(得分:0)

您可以使用Adobe PixelBender进行此类操作,也可以在ActionScript中手动编写(使用getVector / setVector)。但是,移动Alpha通道听起来不错,因为所有颜色都存储有预乘alpha。

这意味着你的精确度会不断下降。

答案 1 :(得分:0)

我认为我要解决的问题是创建原始bitmapData对象的clone()。保持原始原封不动。使用克隆,按照您想要的方式移动所有像素。没有内置的“随身携带卷轴”,但它并不太难。这里有一些代码,但如果只做一个方向,你可以简化它:

http://www.actionscript.org/forums/showthread.php3?p=767722

滚动后,使用copyChannel()将滚动克隆中的Alpha通道复制回原始。