【问题标题】:How can I copy a masked bitmap maintaining the masking transparency in actionscript?如何复制蒙版位图以保持动作脚本中的蒙版透明度?
【发布时间】:2010-01-06 23:37:25
【问题描述】:

我需要找到一种方法来复制蒙版位图。我在舞台上有一张位图,还有一个用户绘制的精灵作为遮罩。我需要捕获/复制蒙版区域位图,保持蒙版创建的透明度最终编码为 png。

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

提前感谢您的帮助 -

b

【问题讨论】:

  • 你是如何屏蔽的? mask 属性还是 blendMode?​​span>

标签: flash actionscript-3 actionscript bitmap bitmapdata


【解决方案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 后,我​​指定我希望 bitmapData 为 transparent (true) 并填充 full tr​​ansparent white (0x00FFFFFF) ARGB(阿尔法-红-绿-蓝)

希望这会有所帮助:)

【讨论】:

  • 感谢您的帮助,我在另一个项目上被拖了很短的时间,但如果我能以这种方式工作,我会重新接受...
  • ARGB 信息特别有用,让我能够解决我的问题。再次感谢您的帮助!
猜你喜欢
  • 2018-12-21
  • 1970-01-01
  • 2011-06-02
  • 1970-01-01
  • 2019-01-29
  • 1970-01-01
  • 2010-11-21
  • 1970-01-01
  • 2011-12-17
相关资源
最近更新 更多