如何从另一个位图创建位图

时间:2012-02-24 13:21:38

标签: actionscript-3

假设我有3种颜色的位图:红色,绿色和蓝色(未混合)

如果我想制作第一个位图的红色部分的位图怎么办?

我想从第一个位图(及其位置)获取红色像素,并制作另一个位图。

这可能吗?

2 个答案:

答案 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