我正在尝试使用此类导出透明 PNG文件:
com.adobe.images.PNGEncoder;

var pngSource:BitmapData = new BitmapData (stage.stageWidth, stage.stageHeight);
pngSource.draw(stage);
var ba:ByteArray = PNGEncoder.encode(pngSource);
var file:File = File.desktopDirectory.resolvePath("test.png");
var fileStream:FileStream = new FileStream();
fileStream.open(file, FileMode.WRITE);
fileStream.writeBytes(ba);
fileStream.close();

一切正常-除了透明的问题...

如果我可以使Flash的舞台颜色透明,那么它将可以工作-但不幸的是-没有这样的选择。

我有什么选择吗?

最佳答案

您需要创建一个具有透明背景的BitmapData实例。您可以通过constructor中的透明参数和带有alpha分量(十六进制的ARGB)的填充颜色来完成此操作:

var pngSource:BitmapData = new BitmapData (stage.stageWidth, stage.stageHeight,true,0x00FFFFFF);//'transparent white'

关于actionscript-3 - as3 |如何使用Adobe AIR导出PNG,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6176295/

10-13 22:58