Actionscript 3 如何在透明位图数据上绘制透明图形?

Actionscript 3 如何在透明位图数据上绘制透明图形?,actionscript-3,rendering,bitmapdata,argb,Actionscript 3,Rendering,Bitmapdata,Argb,我试图在透明的位图数据上绘制PNG 我这样创建位图数据(使用ARGB作为颜色): 并使用相同的ARGB值进行清洁: bitmapData.fillRect(bitmapData.rect, 0x00000000); 当我使用copyPixels()在清理后的位图数据上绘制图形时,我得到以下结果: 如果我不将ARGB用于BitmapData颜色,它可以正常工作: 但是我必须指定一个实心填充颜色,这意味着我不能渲染位图后面的内容 如何使BitmapData透明,但不发生上述情况?来自: mer

我试图在透明的位图数据上绘制PNG

我这样创建位图数据(使用ARGB作为颜色):

并使用相同的ARGB值进行清洁:

bitmapData.fillRect(bitmapData.rect, 0x00000000);
当我使用
copyPixels()
在清理后的位图数据上绘制图形时,我得到以下结果:

如果我不将ARGB用于BitmapData颜色,它可以正常工作:

但是我必须指定一个实心填充颜色,这意味着我不能渲染位图后面的内容

如何使BitmapData透明,但不发生上述情况?

来自:

mergeAlpha属性控制在将透明图像复制到另一个透明图像时是否使用alpha通道。要使用alpha通道数据复制像素,请将mergeAlpha属性设置为true。默认情况下,mergeAlpha属性为false

这一次,Adobe文档真正说出了真相

copyPixels(myPNG, rect, point, null, null, true);

。。。应该(而且确实)解决它。猜测它是出于性能原因而默认关闭的,因为我真的想不出在什么地方关闭它会有用。

您是否尝试过启用mergeAlpha?即
copyPixels(myPNG、rect、point、null、null、true)@TheKaneda-Hah,这很有效-谢谢。对于Adobe产品来说,这非常简单。。。补充多一点作为答案。
copyPixels(myPNG, rect, point, null, null, true);