MediaStore.Images.Media降低了存储到图库的图像质量

时间:2013-07-23 04:40:44

标签: android jpeg mediastore

我通过 -

将应用的屏幕截图保存到图库
//screenshot
private void screenshot()
{
    Uri photo = lomography();
    String photopath = photo.getPath();
    try {
        MediaStore.Images.Media.insertImage(getContentResolver(), photopath, "name" , "desc");
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    }
}

存储在照相机上的图像质量很高:

enter image description here

但是当我导航到Gallery并打开相同的照片时,这是具有多种压缩工件的低JPEG版本:

enter image description here

为什么当原始文件是PNG时,图库会成为JPEG版本? 如何将高分辨率版本保存到图库?

read here诀窍在'使用ContentResolver :: insert注册图像'。

但我正在使用getContentResolver。

2 个答案:

答案 0 :(得分:1)

要解决此问题,请打开" MediaStore.Images.Media.insertImage"方法,将您需要的代码复制并粘贴到您自己的类中,然后将图像压缩为50%将其更改为100%。

答案 1 :(得分:-2)

这就是答案。 我的意思是'这个'是代码中缺少的部分。

而不是'MediaStore.Images.Media.insertImage( getContentResolver ()'。 我应该使用MediaStore.Images.Media.insertImage( this.getContentResolver ()

问题解决了。