压缩图像和调整图像尺寸之间有什么区别?安卓

3
在我的安卓应用中,我想要将图片上传到服务器。问题是服务器不接受大小超过2M的图片,但用户可以选择大于2M的图片。
因此,我想要编写一段代码,将图片压缩至小于2M。
我有两种方法:
1. 调整图像尺寸如下:
```java public static Bitmap decodeSampledBitmapFromResource(Resources res, int resId, int reqWidth, int reqHeight) {
// 首先使用inJustDecodeBounds=true解码以检查尺寸 final BitmapFactory.Options options = new BitmapFactory.Options(); options.inJustDecodeBounds = true; BitmapFactory.decodeResource(res, resId, options);
// 计算inSampleSize options.inSampleSize = calculateInSampleSize(options, reqWidth, reqHeight);
// 使用设置的inSampleSize解码位图 options.inJustDecodeBounds = false; return BitmapFactory.decodeResource(res, resId, options); } ```
2. 同样,我可以压缩图像
```java image.compress(Bitmap.CompressFormat.PNG, 10, fos); ```
这两种方法之间有什么区别?

3
为什么你要给我的问题投反对票? - david
1个回答

8

图像重新调整大小意味着您将缩短图像的分辨率。假设用户选择了一个1000*1000像素的图像,您将把该图像转换为300*300像素的图像。因此,图像尺寸将被减小。

而图像压缩是在不影响分辨率的情况下降低图像文件的大小。当然,降低文件大小会影响图像质量。有许多可用的压缩算法可以在不太影响图像质量的情况下减小文件大小。


谢谢你的回答。你能写一个将图像压缩到2M的代码吗?谢谢。 - david
感谢您的评论。但是这并不压缩到特定的字节数。相反,它表明压缩不会改变图像的高度和宽度! - david

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接