Luban圖片壓縮
hi,今天有空給大家分享一下圖片壓縮的一個開源框架,非常好用;
對於圖片的壓縮,我想大家肯定不陌生了,通常我們會用BitmapFactory的Options對圖片進行尺寸壓縮,如果需要把圖片上傳到服務器的話會用Bitmap的compress對圖片進行質量壓縮,但是質量壓縮後的圖片,質量確實出現了問題,感覺像打了馬賽克一樣;要不就讓C開發去做壓縮處理,做NDK的開發;
最近在github上看到鄭梓斌Curzibn寫的Luban,感覺非常好用,雖然剛開始有很多Bug,但是經過不斷的優化,現在用起來非常好用;
下面就不多說了,直接上代碼
首先引入依賴庫 compile 'top.zibin:Luban:1.1.3'
Luban.with(Context)
.load(imagePath)// 傳人要壓縮的圖片的儲存路徑
.ignoreBy(100)// 忽略不壓縮圖片的大小
.setTargetDir(myImagePath) // 設置壓縮後文件存儲位置
.setCompressListener(new OnCompressListener() { //設置回調
@Override
public void onStart() {
// TODO 壓縮開始前調用,可以在方法內啓動 loading UI
}
@Override
public void onSuccess(File file) {
file就是壓縮後的圖片文件
// TODO 壓縮成功後調用,返回壓縮後的圖片文件
}
@Override
public void onError(Throwable e) {
// TODO 當壓縮過程出現問題時調用
}
}).launch(); //啓動壓縮