Luban图片压缩
hi,今天有空给大家分享一下图片压缩的一个开源框架,非常好用;
对于图片的压缩,我想大家肯定不陌生了,通常我们会用BitmapFactory的Options对图片进行尺寸压缩,如果需要把图片上传到服务器的话会用Bitmap的compress对图片进行质量压缩,但是质量压缩后的图片,质量确实出现了问题,感觉像打了马赛克一样;要不就让C开发去做压缩处理,做NDK的开发;
最近在github上看到郑梓斌Curzibn写的Luban,感觉非常好用,虽然刚开始有很多Bug,但是经过不断的优化,现在用起来非常好用;
下面就不多说了,直接上代码
首先引入依赖库 compile 'top.zibin:Luban:1.1.3'
Luban.with(Context)
.load(imagePath)// 传人要压缩的图片的储存路径
.ignoreBy(100)// 忽略不压缩图片的大小
.setTargetDir(myImagePath) // 设置压缩后文件存储位置
.setCompressListener(new OnCompressListener() { //设置回调
@Override
public void onStart() {
// TODO 压缩开始前调用,可以在方法内启动 loading UI
}
@Override
public void onSuccess(File file) {
file就是压缩后的图片文件
// TODO 压缩成功后调用,返回压缩后的图片文件
}
@Override
public void onError(Throwable e) {
// TODO 当压缩过程出现问题时调用
}
}).launch(); //启动压缩