Alo*_*lon 6 air adobe png actionscript-3 flash-cs5
我试图使用这个类导出透明的 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();
Run Code Online (Sandbox Code Playgroud)
一切正常 - 除了透明问题......
如果我能让Flash的舞台颜色变得透明,那么它会起作用 - 但不幸的是 - 没有这样的选择.
我有什么选择吗?
您需要创建具有透明背景的BitmapData实例.你可以通过构造函数中的透明参数和带有alpha组件的填充颜色(十六进制的ARGB)来实现:
var pngSource:BitmapData = new BitmapData (stage.stageWidth, stage.stageHeight,true,0x00FFFFFF);//'transparent white'
Run Code Online (Sandbox Code Playgroud)