我在使用PNGEncoder类时遇到透明问题。当我将BitmapData编码为png并将其用作我的Image的源时,它看起来很糟糕。我附上例子。有两个图像 - 第一个是彩色的,上面是白色的alpha渐变。
我已经使用了一些像AsPngEncoder这样的其他库,但它没有帮助。这是我使用的代码:
var bd:BitmapData = new BitmapData(container.width, container.height, true, 0xffffff);
bd.draw(container);
var pngenc:PNGEncoder = new PNGEncoder();
var pngByteArray:ByteArray = pngenc.encode(bd);
container.source = pngByteArray;
var fl:File = File.applicationStorageDirectory.resolvePath("./images/file.png");
var fs:FileStream = new FileStream();
fs.open(fl, FileMode.WRITE);
fs.writeBytes(pngByteArray);
fs.close();
答案 0 :(得分:0)
尝试使用新的Flash Player 11.3功能
http://help.adobe.com/en_US/as3/dev/WS4768145595f94108-17913eb4136eaab51c7-8000.html