如何在透明的BitmapData上绘制透明图形?

Mar*_*rty 2 rendering actionscript-3 bitmapdata argb

我正在尝试将PNG绘制到透明的BitmapData上.

我像这样创建我的BitmapData(使用ARGB作为颜色):

new BitmapData(width, height, true, 0x00000000);
Run Code Online (Sandbox Code Playgroud)

并使用相同的ARGB值清除它:

bitmapData.fillRect(bitmapData.rect, 0x00000000);
Run Code Online (Sandbox Code Playgroud)

当我使用copyPixels()在已清理的BitmapData上绘制图形时,我得到以下结果:

在此输入图像描述

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

在此输入图像描述

但我必须指定一个实心的fillColor,这意味着我无法渲染Bitmap背后的内容.

如何使我的BitmapData透明,但不会出现上述情况?

Jim*_*iTh 6

从以下文档BitmapData::CopyPixels():

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

一旦Adobe文档实际说出真相.

copyPixels(myPNG, rect, point, null, null, true);
Run Code Online (Sandbox Code Playgroud)

......应该修复它(并且确实).由于性能原因,默认情况下它是关闭的,因为我无法想到一个关闭它的地方.