Android中LuBan與Compressor如何實現(xiàn)圖片壓縮-創(chuàng)新互聯(lián)

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

專注于為中小企業(yè)提供成都做網(wǎng)站、網(wǎng)站制作服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)隨縣免費做網(wǎng)站提供優(yōu)質(zhì)的服務。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了上1000+企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設實現(xiàn)規(guī)模擴充和轉(zhuǎ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://muchs.cn/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)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設計