转载自:http://blog.youkuaiyun.com/fff2666/article/details/50503550
原因是因为图片进行缓存到本地,再取出时,图片格式被压缩错误。
比如,原图为png的类型,但是
bmp.compress(Bitmap.CompressFormat.JPEG, 100,
outputStream);
被默认为了JPEG。所以透明的地方肯定出现错误,比如变黑色。
所以在缓存图片时最好先进行文件名判断。
如下代码:
- if (!url.substring(url.lastIndexOf("/") + 1).toUpperCase().contains("PNG")) {
- success = bmp.compress(Bitmap.CompressFormat.JPEG, 100,outputStream);
- } else {
- success = bmp.compress(Bitmap.CompressFormat.PNG, 100,
- outputStream);
- }