這篇文章主要介紹了Android中LuBan與Compressor如何實現(xiàn)圖片壓縮,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

1,LuBan壓縮問題 https://github.com/Curzibn/Luban
之前選擇壓縮圖片庫,在github上找的這個star最多的,使用方法是傳入圖片數(shù)組,在異步線程中回調(diào)返回的結(jié)果。接下來就出現(xiàn)問題了,壓縮的圖片質(zhì)量模糊,雖然可以設置多少KB一下不壓縮,在正常手機屏幕壓縮沒太大問題。但是在平板,同一張圖片,壓縮就會模糊。
Luban.with(this)
.load(photos) // 傳人要壓縮的圖片列表
.ignoreBy(100) // 忽略不壓縮圖片的大小
.setTargetDir(getPath()) // 設置壓縮后文件存儲位置
.setCompressListener(new OnCompressListener() { //設置回調(diào)
@Override
public void onStart() {
// TODO 壓縮開始前調(diào)用,可以在方法內(nèi)啟動 loading UI
}
@Override
public void onSuccess(File file) {
// TODO 壓縮成功后調(diào)用,返回壓縮后的圖片文件
***在此判斷是否壓縮完畢,根據(jù)返回的圖片++與原數(shù)組size比較***
}
@Override
public void onError(Throwable e) {
// TODO 當壓縮過程出現(xiàn)問題時調(diào)用
}
}).launch(); //啟動壓縮2,Compressor /file/tupian/20230213/pp.setCompressFormat(Bitmap.CompressFo.PNG)PNG格式的壓縮,會導致圖片變大,并耗過大的內(nèi)存,手機反應緩慢
.setCompressFormat(Bitmap.CompressFormat.JPEG)JPEG壓縮;壓縮速度比PNG快,質(zhì)量一般,基本上屬于1/10的壓縮比例
try {
File file = new Compressor(activity)
.setMaxWidth(640)
.setMaxHeight(480)
.setQuality(100)
.setCompressFormat(Bitmap.CompressFormat.JPEG)
.setDestinationDirectoryPath(Environment.getExternalStoragePublicDirectory(
Environment.DIRECTORY_PICTURES).getAbsolutePath())
.compressToFile(new File(filePath));
String imageString=file.getPath();
paths.add(imageString);
} catch (IOException e) {
e.printStackTrace();
}在此判斷paths的大小是否等于圖片數(shù)組大小,判斷是否調(diào)用handler傳遞消息到主線程去坐其他操作
感謝你能夠認真閱讀完這篇文章,希望小編分享的“Android中LuBan與Compressor如何實現(xiàn)圖片壓縮”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián),關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關知識等著你來學習!
名稱欄目:Android中LuBan與Compressor如何實現(xiàn)圖片壓縮-創(chuàng)新互聯(lián)
地址分享:http://chinadenli.net/article24/spgje.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、品牌網(wǎng)站建設、外貿(mào)網(wǎng)站建設、靜態(tài)網(wǎng)站、商城網(wǎng)站、網(wǎng)頁設計公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)