用魯班壓縮封裝的一個(gè)壓縮工具類

魯班壓縮大家應(yīng)該也是非常熟悉的,這里用遞歸的方法一張一張壓縮,所以如果圖片數(shù)量較多的話全部壓縮完會(huì)比較慢,可以根據(jù)自己的情況做修改。

原項(xiàng)目:https://github.com/Curzibn/Luban

//    compile 'top.zibin:Luban:1.0.9'

importandroid.content.Context;

importandroid.util.Log;

importcom.mxkj.yuanyintang.activity.PublishActivity;

importjava.io.File;

importjava.io.IOException;

importjava.util.ArrayList;

importjava.util.List;

importtop.zibin.luban.Luban;

importtop.zibin.luban.OnCompressListener;

//    compile 'top.zibin:Luban:1.0.9'

public classIMGCompressUtils {

public static intcount;

public staticListfiles=newArrayList<>();

public staticListCompressorImage1(intnum, finalContext context, finalList path, finalCompressCallback callback)throwsIOException {

if(num ==0) {

files.clear();

count= num;

}

File actualImage =newFile(path.get(count));

Luban.with(context)

.load(actualImage)//傳人要壓縮的圖片

.putGear(3)

.setCompressListener(newOnCompressListener() {//設(shè)置回調(diào)

@Override

public voidonStart() {

}

@Override

public voidonSuccess(File file) {

Log.e("TAG","壓縮第幾張: "+count+"====="+ file.getAbsolutePath());

files.add(file);

Log.e("TAG","files.size: "+files.size() );

count++;

if(files.size() ==path.size()) {

callback.fileCallback(files);

count=0;

files.clear();

}else{

try{

CompressorImage1(count,context,path,callback);

}catch(IOException e) {

e.printStackTrace();

}

}                    }

@Override

public voidonError(Throwable e) {

}

}).launch();//啟動(dòng)壓縮

/*  Luban.get(context)

.load(actualImage)                    //傳人要壓縮的圖片

.putGear(3)      //設(shè)定壓縮檔次,默認(rèn)三擋(據(jù)說(shuō)最接近朋友圈??)

.setCompressListener(new OnCompressListener() {

@Override

public void onStart() {

}

@Override

public void onSuccess(File file) {

Log.e("TAG", "壓縮第幾張: " + count + "路徑-------->" + file.getAbsolutePath());

files.add(file);

count++;

if (files.size() == path.size()) {

callback.fileCallback(files);

count=0;

files.clear();

} else {

CompressorImage1(count, context, path, callback);

}

}

@Override

public void onError(Throwable e) {

}

})  //設(shè)置壓縮監(jiān)聽(tīng)器

.launch();    */                //啟動(dòng)壓縮

returnfiles;

}

public interfaceCompressCallback {

voidfileCallback(List files);

}

}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容