缩小图像大小与指定的比例 - android

时间:2018-06-03 16:41:17

标签: android android-studio image-processing

我想按因子开发图像的压缩尺寸。

用谷歌搜索后,我发现我可以在位图中使用compress函数,如下所示

myImage.compress(Bitmap.CompressFormat.JPEG, compressRatio, out);

compressRatio 的可能值为100,50和25

因此,在100的情况下,原始大小的保存图像表示(1MB),50保存大小0.5MB,25保存0.25MB图像大小。

但实际上,在我传递值后,我会得到不同的值,例如

  

对于100,大小约为1.4M,对于50个大小约为250k,对于25   尺寸约为150k,如果尺寸为100,则正确缩放   约为1.4M,50种尺寸约为700k,25种尺寸约为300K

任何人都可以帮助我理解为什么它不能按预期工作吗?

=============================================== ===========

修改1 :  正如 CommonsWare 所提到的那样,compress()无法实现这一点,那么有什么建议可以让我真正需要的东西

提示:我不想改变它的宽度和高度,我需要将它们保持为原始图像尺寸,但尺寸不同。

1 个答案:

答案 0 :(得分:0)

  

按指定比例缩小图像大小 - android

这与compress()上的Bitmap方法无关。如果现有Bitmap,您可以call createScaledBitmap()创建缩放位图。

  

因此,在100的情况下,原始大小的保存图像表示(1MB),50保存大小0.5MB,25保存0.25MB图像大小。

这不是compress()的压缩因子参数的工作原理。该值的确切含义取决于图像格式。对于JPEG,它控制压缩的损耗程度,但不是线性比例。例如,值为0不允许您将图像保存为零字节文件。