当我尝试压缩图片的大小(宽度和高度)时,我对inSampleSize
的{{1}}属性有疑问。 BitmapFactory.Options()
值为1时,结果未压缩,inSampleSize
值为2,图像压缩为一半,inSampleSize
值为3,图像压缩为一半,{{1} 4个图像压缩的值为1/4,当inSampleSize
值为6时,压缩效果等于inSampleSize
,当inSampleSize
为8时,图像压缩为1/8。所以,我得出了初步结论:当inSampleSize = 4
值必须是2 ^ n时,压缩才会生效吗?
答案 0 :(得分:1)
是的,来自Android源代码中的Javadocs
注意:解码器使用基于2的幂的最终值,任何其他值 值将向下舍入到最接近的2的幂。