0

我在使用 PNGEncoder 类时遇到了透明问题。当我将 BitmapData 编码为 png 并将其用作我的图像源时,它看起来很糟糕。我附上例子。有两个图像 - 第一个是彩色的,上面是白色的,带有 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();
4

1 回答 1

0

尝试使用新的 Flash Player 11.3 功能

http://help.adobe.com/en_US/as3/dev/WS4768145595f94108-17913eb4136eaab51c7-8000.html

于 2012-08-11T10:03:06.917 回答