as3 |如何使用 Adobe AIR 导出 PNG
我正在尝试使用此类导出透明 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 的舞台颜色透明那么它就会工作 - 但不幸的是 - 没有这样的选项。
我缺少任何选项吗?
I am trying to export transparent PNG files using this class:
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();
All works fine - except the transparent issue...
If I could get Flash's stage color be transparent then it will work - but unfortunatly - there is no such option.
Are there any options I am missing?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您需要制作一个具有透明背景的 BitmapData 实例。您可以通过 中的透明参数来完成此操作构造函数 和带有 alpha 分量的填充颜色(十六进制的 ARGB):
You need to make a BitmapData instance with a transparent background. You do that through the transparent argument in the constructor and a fill color with an alpha component(ARGB in hex):