8.9.拷贝通道

问题
我要从BitmapData中拷贝出红色,绿色,蓝色或alpha通道出来
解决办法
使用BitmapData的copyChannel( )方法
讨论
copyChannel( )方法是另一个在两个位图之间交换数据的方法。它的前三个参数和copyPixels( )方法一样,另外还有源通道和目标通道:
+展开
-ActionScript
bitmap.copyPixels(sourceBmp, srcRect, destPoint,
srcChannel, destChannel);

这两个通道参数可以1,2,4或8中的整数,它们代表红色,绿色,蓝色和alpha通道,一次对应BitmapDataChannel类中的RED, GREEN, BLUE,和ALPHA常量。

你只要告诉方法从原始图像的什么通道拷贝到目标位图的哪个通道上,下面的代码拷贝载入位图的红色,绿色和蓝色通道到另一个位图上:
+展开
-ActionScript
var loaderBmp:Bitmap = Bitmap(loader.content);
bitmap.copyChannel(loaderBmp.bitmapData,
loaderBmp.bitmapData.rect,
new Point( ),
BitmapDataChannel.RED,
BitmapDataChannel.RED);
bitmap.copyChannel(loaderBmp.bitmapData,
loaderBmp.bitmapData.rect,
new Point(5, 5),
BitmapDataChannel.GREEN,
BitmapDataChannel.GREEN);
bitmap.copyChannel(loaderBmp.bitmapData,
loaderBmp.bitmapData.rect,
new Point(10, 10),
BitmapDataChannel.BLUE,
BitmapDataChannel.BLUE);

加支付宝好友偷能量挖...


评论(0)网络
阅读(118)喜欢(0)flash/flex/fcs/AIR