我正在通过 - 将应用程序的屏幕截图保存到图库
//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();
}
}
存储在 photopath 的图像是高质量的:
但是当我导航到图库并打开同一张照片时,这是具有多个压缩伪影的低 JPEG 版本:
当原始文件为 PNG 时,为什么图库图像为 JPEG 版本? 如何将高分辨率版本保存到图库?
我read here诀窍在于“使用 ContentResolver::insert 注册图像”。
但我正在使用 getContentResolver。
最佳答案
要解决此问题,请打开“MediaStore.Images.Media.insertImage”方法的声明,将您需要的代码复制并粘贴到您自己的类中,然后将其以 50% 压缩图像的位置更改为 100% .
关于android - MediaStore.Images.Media 降低存储到图库的图像质量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17801605/