0

PNGEncoder クラスを使用した透過に問題があります。BitmapData を png にエンコードし、それを画像のソースとして使用すると、ひどく見えます。例を添付します。2 つの画像があります。最初はカラフルで、その上はアルファ グラデーションの白です。

保存前の画像

保存後の画像

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 に答える