Luban 的压缩效果非常好,可以在最大程度降低图片大小的同时,保持较高的清晰度
依赖库
首先要把这个库依赖加进来
implementation "top.zibin:Luban:1.1.3"
同步写法
存放一个输出文件的路径,然后调用即可返回处理后的文件
val list = Luban.with(context).load(outputFile).setTargetDir(context.filesDir.absolutePath).get()
异步写法
存放一个输出文件的路径,然后调用即可在 onSuccess 返回处理后的文件
Luban.with(context).load(outputFile).setTargetDir(context.filesDir.absolutePath).setCompressListener(object :
OnCompressListener {
override fun onStart() {
}
override fun onError(e: Throwable?) {
}
override fun onSuccess(file: File?) {
}
}).launch()