android 使用 Luban 来压缩图片

292 阅读1分钟

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()