将图像保存到文件时的浅绿色背景

时间:2012-10-02 07:33:12

标签: android image file

我正在为从网上下载的PNG实现图像缓存。

到目前为止效果不错,除了具有白色背景的图像,从缓存(外部存储)读取它们时,获得浅绿色背景。

从网络下载图像时,它们会正确显示。但是从外部存储器保存和加载后,它们会显示浅绿色背景。

在3台设备上进行了测试,问题出现在其中2台,三星Galaxy和HTC的愿望。第三个是Galaxy Nexus,没有这个问题。

代码的相关部分:

保存到文件:

FileOutputStream outputStream = new FileOutputStream(fileUri);
image.compress(Bitmap.CompressFormat.PNG, 100, outputStream);
outputStream.flush();
outputStream.close();

读取文件:

File file = new File(fullCacheDir.toString(), fileName);

从网上下载:

DefaultHttpClient httpClient = new DefaultHttpClient();
HttpGet request = new HttpGet(urlString);
HttpResponse response = httpClient.execute(request);
InputStream is = response.getEntity().getContent();

TypedValue typedValue = new TypedValue();
typedValue.density = TypedValue.DENSITY_DEFAULT;
Drawable drawable = Drawable.createFromResourceStream(null, typedValue, is, "src");

1 个答案:

答案 0 :(得分:1)

我认为问题在于将图像从RGB888自动转换为16位RGB565格式,然后再显示它。这是一篇关于如何处理这个问题的好文章:Bitmap Format Woes