2012-08-10 52 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(); 

回答