This commit is contained in:
fengjignqi
2026-05-16 16:19:39 +08:00
commit 1b1575eb8a
1632 changed files with 242221 additions and 0 deletions

View File

@@ -0,0 +1,67 @@
package com.ckkj.water.utils;
import android.content.Context;
import android.text.TextUtils;
import java.io.File;
import top.zibin.luban.CompressionPredicate;
import top.zibin.luban.Luban;
import top.zibin.luban.OnCompressListener;
/**
* 鲁班压缩文件
*/
public class LubanCompressUtil {
private static LubanCompressUtil mInstance;
private Context mContext;
public static LubanCompressUtil getInstance() {
if (mInstance == null) {
if (mInstance == null) {
mInstance = new LubanCompressUtil();
}
}
return mInstance;
}
public interface CompressCallback{
void success(File file);
void fail(String failMsg);
}
public void getCompressFile(Context context,File oldFile,CompressCallback callback){
File compressFile = null;
Luban.with(context)
.load(oldFile) // 原始图片文件
.ignoreBy(100) // 忽略不压缩图片大小
.filter(new CompressionPredicate() {
@Override
public boolean apply(String path) {
return !(TextUtils.isEmpty(path) || path.toLowerCase().endsWith(".gif"));
}
})
.setCompressListener(new OnCompressListener() {
@Override
public void onStart() {
// 压缩开始前调用
}
@Override
public void onSuccess(File file) {
// 压缩成功后调用
if(callback!= null){
callback.success(file);
}
}
@Override
public void onError(Throwable e) {
// 当压缩过程出现问题时调用
}
}).launch();
}
}