Flex PNGEncoder失去透明的质量

时间:2012-08-10 11:20:06

标签: actionscript-3 flex

我在使用PNGEncoder类时遇到透明问题。当我将BitmapData编码为png并将其用作我的Image的源时,它看起来很糟糕。我附上例子。有两个图像 - 第一个是彩色的,上面是白色的alpha渐变。

Image before save

Image after save

我已经使用了一些像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();

1 个答案:

答案 0 :(得分:0)