android 图片透明色变成黑色解决办法

转载自:http://blog.csdn.net/fff2666/article/details/50503550


原因是因为图片进行缓存到本地,再取出时,图片格式被压缩错误。

比如,原图为png的类型,但是

bmp.compress(Bitmap.CompressFormat.JPEG, 100,
outputStream);

被默认为了JPEG。所以透明的地方肯定出现错误,比如变黑色。

所以在缓存图片时最好先进行文件名判断。


如下代码:

  1. if (!url.substring(url.lastIndexOf("/") + 1).toUpperCase().contains("PNG")) {  
  2. success = bmp.compress(Bitmap.CompressFormat.JPEG, 100,outputStream);  
  3.                 } else {  
  4.                     success = bmp.compress(Bitmap.CompressFormat.PNG, 100,  
  5.                             outputStream);  
  6.                 }  
这样从缓存中取出来的时候就会不会再出现黑框!。

你可能感兴趣的:(android 图片透明色变成黑色解决办法)