2012-08-10 51 views
0

我遇到了使用PNGEncoder类的透明问题。当我将BitmapData编码为png并将其用作图像的源时,它看起来很糟糕。我附上例子。有两个图像 - 第一个彩色和高于白色与alpha梯度。Flex PNGEncoder失去透明质量

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(); 

回答