假设我有3种颜色的位图:红色,绿色和蓝色(未混合)
如果我想制作第一个位图的红色部分的位图怎么办?
我想从第一个位图(及其位置)获取红色像素,并制作另一个位图。
这可能吗?
答案 0 :(得分:3)
您可以使用BitmapData.copyChannel()
将单个频道的颜色信息复制到新的BitmapData对象中。
像这样(未经测试):
//myBitmap is the source bitmap
var oldBMD:BitmapData = myBitmap.bitmapData;
var newBMD:BitmapData = new BitmapData(oldBMD.width,oldBMD.height,true,0);
oldBmd.copyChannel(newBMD, null, null, BitmapDataChannel.RED, BitmapDataChannel.RED);
var newBitmap:Bitmap = new Bitmap(newBMD);
答案 1 :(得分:2)
作为shanethehat发布的解决方案的补充,我将指出这个由SO用户colormatrix编写的名为quasimondo的惊人课程。它为您提供了更有效的方式来处理动作脚本中的通道。如果您打算一般使用位图和图形,可以从Google代码存储库中查看Quasimondo Libs。