版权声明:个人学习记录,由于能力和时间有限,如果有错误望读者纠正,谢谢! 转载请注明出处 谢谢合作 https://blog.csdn.net/qq_43377749/article/details/89765065
图片压缩的方法有很多,这两天向同学学了一种方法,刚觉非常行之有效,与大家分享。
图片压缩的作用:
当我们上传图片到数据库时,如果是头像图片,那么在客户端显示出来一般是缩略图,这时大图是没有用的,又浪费加载时间
图片压缩的方法
/*
压缩路径下的文件
*/
private File imageFactory(String picPath){
BitmapFactory.Options o=new BitmapFactory.Options();
Bitmap bitmap=BitmapFactory.decodeFile(picPath, o);
bitmap=Bitmap.createScaledBitmap(bitmap, 400, 400, false);
File root= getExternalCacheDir();
File pic=new File(root,"test.jpg");
try {
FileOutputStream fos=new FileOutputStream(pic);
bitmap.compress(Bitmap.CompressFormat.JPEG,50,fos);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
return pic;
}
使用解析
bitmap=Bitmap.createScaledBitmap(bitmap, 400, 400, false);
这段代码将图片大小压缩到 400*400
bitmap.compress(Bitmap.CompressFormat.JPEG,50,fos);
这段将图片质量减少到原来的一半
最后返回的File 为图片在内存中的暂存地址,自动释放,不用手动删除