压缩图片主要使用BitmapFactory.Options的对象,以及BitmapFactory.decodeFile(String pathName,Options options)方法
<span style="white-space:pre"> </span>//根据图片尺寸压缩图片
BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;// 不会将图片真的取到内存,只获取图片宽高
BitmapFactory.decodeFile(imageUrlsString, options);//imageUrlsString 本地图片的路径
double compressSize = Math.max(options.outWidth * 1.0d / 1024f,
options.outHeight * 1.0d / 1024f);//根据宽高计算压缩比
options.inSampleSize = (int) Math.ceil(compressSize);//ceil()向上取整
options.inJustDecodeBounds = false;
bitmap = BitmapFactory.decodeFile(imageUrlsString, options);
//固定压缩比压缩图片
BitmapFactory.Options options1 = new BitmapFactory.Options();
options1.inSampleSize =4;//宽高都为原始图片1/4,图片大小为原来的1/16
bitmap = BitmapFactory.decodeFile(imageUrlsString, options);