Android-图片压缩-2行搞定图片压缩【2019】

图片压缩的方法有很多,这两天向同学学了一种方法,刚觉非常行之有效,与大家分享。


图片压缩的作用:

当我们上传图片到数据库时,如果是头像图片,那么在客户端显示出来一般是缩略图,这时大图是没有用的,又浪费加载时间


图片压缩的方法

/*
压缩路径下的文件
 */
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

ByteArrayOutputStream baos = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 50, baos);
Bitmap newBitmap = BitmapFactory.decodeStream(new ByteArrayInputStream(baos.toByteArray()), null, null);

这段将图片质量减少到原来的一半


最后返回的File 为图片在内存中的暂存地址,自动释放,不用手动删除

发布了161 篇原创文章 · 获赞 237 · 访问量 10万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 技术黑板 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览