如何使用Adobe AIR导出PNG(AS3)

6

我正在尝试使用这个类来导出 透明 的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的舞台颜色透明,那么它就可以工作了,但不幸的是,没有这样的选项。

我是否错过了任何选项?


还建议您使用更好的编码库:http://www.blooddy.by/en/crypto/ - average dev
1个回答

7

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

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

1
您可以将颜色参数设置为0。颜色将会是透明黑色 - NemoStein

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接