本人技术菜 只讲怎么使用... 想知道原理的可以百度搜索鲁班压缩
先导入依赖
//luban图片压缩
implementation 'top.zibin:Luban:1.1.3'
接下来准备好 file类型的图片文件
//鲁班图片压缩
Luban.with(this)
.load(file) // 传人要压缩的图片列表
.ignoreBy(100) // 忽略不压缩图片的大小
.setTargetDir(getPath())// 设置压缩后文件存储位置
.setCompressListener(new OnCompressListener() { //设置回调
@Override
public void onStart() {
// TODO 压缩开始前调用,可以在方法内启动 loading UI
// LogUtil.e("lin","压缩开始");
}
@Override
public void onSuccess(File file) {
// TODO 压缩成功后调用,返回压缩后的图片文件
Log.e("Response", "showImages3: " + file);
}
@Override
public void onError(Throwable e) {
// TODO 当压缩过程出现问题时调用
LogUtil.e("lin","压缩过程出现问题");
}
}).launch(); //启动压缩
下边这个方法是设置储存路径的
private String getPath() {
String path = Environment.getExternalStorageDirectory() + "/Luban/image/";
File file = new File(path);
if (file.mkdirs()) {
return path;
}
return path;
}
然后在压缩成功那里就可以取到你需要的压缩后的文件了