首页 > 解决方案 > Android将图像从图库加载到图像视图而不减小图像大小

问题描述

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

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

标签: android

解决方案


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

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配置了我们的选项。它提供有关图像的信息(宽度、高度等)。


推荐阅读