2010-01-06 50 views
0

我需要找到一种方法来复制掩盖的位图。我在舞台上有一个位图,并且用户绘制了一个用作掩码的精灵。我需要捕获/复制蒙版区域位图,保持由蒙版创建的透明度,最终编码为png。如何复制在动作脚本中保持遮罩透明度的遮罩位图?

我找不到有关如何使用copyPixels()或任何其他方向完成此操作的文档。

预先感谢任何帮助 -

b

+0

你怎么掩盖? mask属性还是blendMode? – spender 2010-01-06 23:46:21

回答

1

我做了一个简单的测试,似乎工作:

var square:Sprite = new Sprite(); 
var circle:Sprite = new Sprite(); 
var holder:Sprite = new Sprite(); 

square.graphics.beginFill(0,.5); 
square.graphics.drawRect(0,0,100,100); 
square.graphics.endFill(); 

circle.graphics.beginFill(0); 
circle.graphics.drawCircle(0,0,50); 
circle.graphics.endFill(); 

addChild(holder); 
holder.addChild(square); 
holder.addChild(circle); 
square.mask = circle; 

var cloneData:BitmapData = new BitmapData(holder.width,holder.height,true,0x00FFFFFF); 
cloneData.draw(holder); 
var clone:Bitmap = new Bitmap(cloneData); 
addChild(clone); 
clone.x = 30; 

我创建一个BitmapData和使用draw()方法做一个克隆。 关键的事情似乎是BitmapData构造函数中的最后两个参数。 后我通过holder.width和holder.height,我指定我想要的位图数据是透明(真),并有填充˚FULL透明白色(至0x00FFFFFF)ARGB(阿尔法 - 红 - 绿 - 蓝色)

希望这会有所帮助:)

+0

感谢您的帮助,我在短时间内退出了另一个项目,但如果我以这种方式工作,将回到接受状态... – WillyCornbread 2010-01-15 14:06:20

+0

ARGB信息特别有用,并且允许我解决我的问题。再次感谢您的帮助! – WillyCornbread 2010-01-20 01:19:11

+0

很高兴我能帮忙^ _ ^ – 2010-01-20 01:47:30