我需要找到一种方法来复制掩盖的位图。我在舞台上有一个位图,并且用户绘制了一个用作掩码的精灵。我需要捕获/复制蒙版区域位图,保持由蒙版创建的透明度,最终编码为png。如何复制在动作脚本中保持遮罩透明度的遮罩位图?
我找不到有关如何使用copyPixels()或任何其他方向完成此操作的文档。
预先感谢任何帮助 -
b
我需要找到一种方法来复制掩盖的位图。我在舞台上有一个位图,并且用户绘制了一个用作掩码的精灵。我需要捕获/复制蒙版区域位图,保持由蒙版创建的透明度,最终编码为png。如何复制在动作脚本中保持遮罩透明度的遮罩位图?
我找不到有关如何使用copyPixels()或任何其他方向完成此操作的文档。
预先感谢任何帮助 -
b
我做了一个简单的测试,似乎工作:
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(阿尔法 - 红 - 绿 - 蓝色)
希望这会有所帮助:)
感谢您的帮助,我在短时间内退出了另一个项目,但如果我以这种方式工作,将回到接受状态... – WillyCornbread 2010-01-15 14:06:20
ARGB信息特别有用,并且允许我解决我的问题。再次感谢您的帮助! – WillyCornbread 2010-01-20 01:19:11
很高兴我能帮忙^ _ ^ – 2010-01-20 01:47:30
你怎么掩盖? mask属性还是blendMode? – spender 2010-01-06 23:46:21