仿微信图片压缩Luban的使用

由于涉及到图片上传 所以不能太大 之前使用的一些压缩方法 按质量 和大小进行了压缩 但是有的低像素图片压缩后失真严重  压缩的方法也很麻烦 所以又找了第三方的 图片压缩方法  GitHub上说该方法是按微信压缩算法逆推 仿写的 逼格很高的样子 使用起来确实很方便  按介绍的压缩效果对比
 
 
先导入工程依赖
dependencies {
    compile 'top.zibin:Luban:1.0.3'
}
在使用的时候只有几行就搞定了 封装的很好
 
    
//最后图片效果4好于3好于1
//也就是1压缩都最厉害但是不清晰了
//3也压缩的厉害清晰度也可以
//4是压缩的最少的。清晰度最好
// FIRST_GEAR = 1;//质量,尺寸压缩都进行了
// THIRD_GEAR = 3;//质量,尺寸压缩都进行了
// CUSTOM_GEAR = 4;//只进行质量压缩,像素不变
Luban.get(MainActivity.this)
        .load(srcfile)           //传人要压缩的图片
        .putGear(Luban.THIRD_GEAR)      //设定压缩档次,默认三挡
        .setCompressListener(new OnCompressListener() { //设置回调
            @Override
            public void onSuccess(File file) {
                //压缩成功后调用,返回压缩后的图片文件
            }
        }).launch();    //启动压缩
成功后获取到的file 就是得到的压缩图片 可进行自定义处理 
4m的图片压缩我测试在3000毫秒左右 比较耗时 可放在子线程中运行
图片压缩后的尺寸没有条件限制 file.length() / 1024;可以自行设定
根据需要决定再次压缩

你可能感兴趣的:(图片处理)