Android从gallery将图像加载到图像视图,而不减少图像大小

Android从gallery将图像加载到图像视图,而不减少图像大小,android,Android,我使用下面的代码将库图像导入到我的ImageView中,但它减小了图像大小。如果原始图像大小大于5MB,则在导入并保存图像后,会将图像大小减小到2MB,质量将丢失。有没有关于在不降低尺寸和质量的情况下从图库中获取图像并保存的建议 Bitmap bitmapImage = BitmapFactory.decodeFile(images.get(position)); setBitmap(bitmapImage); 由于压缩格式和比例因素,大小正在发生变化。你的方法有一个小问题 Bitmap bi

我使用下面的代码将库图像导入到我的
ImageView
中,但它减小了图像大小。如果原始图像大小大于5MB,则在导入并保存图像后,会将图像大小减小到2MB,质量将丢失。有没有关于在不降低尺寸和质量的情况下从图库中获取图像并保存的建议

Bitmap bitmapImage = BitmapFactory.decodeFile(images.get(position));
setBitmap(bitmapImage);

由于压缩格式和比例因素,大小正在发生变化。你的方法有一个小问题

Bitmap bitmapImage = BitmapFactory.decodeFile(images.get(position));
setBitmap(bitmapImage);
我鼓励您检查位图的大小,使用方法bitmap.getByteCount()。你可以观察大小上的差异,不要太在意。这是因为压缩。(PNG、JPG实际上以压缩格式存储图像

您应该使用BitmapFactor.Options加载与位图相同的大小

BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
Bitmap bitmapImage = BitmapFactory.decodeFile(images.get(position), options);

您可以看到,我们通过设置inJustDecodeBounds=true配置了选项。它提供了有关图像的信息(宽度、高度等)。

如何保存图像。共享代码
FileOutputStream out=newfileoutputstream(file,false);
`saveBitmap.CompressFormat.PNG,100,out)“`
out.flush();
out.close();
MediaStore.Images.Media.insertImage(getContentResolver()、file.getAbsolutePath()、file.getName()、file.getName())
从gallery导入时,我调试了代码,位图大小为2100、1080。但检查了我的手机和原始分辨率大小4200、2800。我认为导入时间会减少大小。对吗?你说的是图像大小,而不是文件大小。然后你提到分辨率。所以你在某处调整原始文件的大小。请发布重新设置在你的帖子中可以找到完整的代码。不是在评论中。评论是给我们的。我们没有任何
图片。获取(位置)
。最好给出实际值。