损失我使用LoaderMax加载外部PNG和许多地方一样显示出来,所以我用下面的代码复制的图像:AS3:复制一个PNG图像引起的透明度
var cd:ContentDisplay = ContentDisplay(loader.getContent("name"));
var b1 = Bitmap(cd.rawContent);
var old = b1.bitmapData;
var bmp = new Bitmap(b1);
container.addChild(bmp);
原始图像具有在alpha通道上为50%,但是当我从同一个bitmapData对象创建新的位图时,它不保留Alpha通道。
如果我尝试复制alpha通道(请参阅下面的代码;如果我理解正确,alpha通道从本身复制到本身) - 透明度在新图像上,但代码会引发错误。 ..
bmp.copyChannel(old, new Rectangle(0, 0, old.width, old.height), new Point(), BitmapDataChannel.ALPHA, BitmapDataChannel.ALPHA);
错误:
ReferenceError: Error #1069: Property copyChannel not found on flash.display.Bitmap and there is no default value.
at barmask/frame1()
我怎样才能复制PNG和维护Alpha透明度...最好不出错?
P.s.请原谅任何明显的失误,我是一个福利局的ActionScript ...
这没有似乎工作。我用你推荐的构造函数创建了一个新的BitmapData,并且还必须将旧的图像复制到新的图像。这仍然没有保留alpha通道。 –
以及源'BitmapData'的'transparent'属性呢? – www0z0k
这是一篇关于使用BitmapData对象http://www.developria.com/2010/02/dealing-with-bitmapdata.html的文章。以下是一些成功使用draw()将alpha BitmapData复制到新位图中的代码http://flexdiary.blogspot.com/2009/12/riadventure-inspiration.html –