微信小程序中圖片壓縮的最佳實現與封裝

一、概述

在項目開發過程中遇到一個需要從小程序上傳圖片的需求,此需求實現起來並不難,只需要調用chooseImage接口拿到圖片的臨時路徑然後調用uploadFile接口進行上傳。到這裏這個功能已經實現了,可是這樣簡單實現了之後用戶在使用時體驗非常差。因爲現在手機攝像頭像素非常高,拍出來的照片體積都很大,上傳時不做處理就會導致上傳耗時長,用戶消耗流量大,查看圖片時加載非常慢等體驗問題。

二、圖片壓縮的方法及優缺點

爲了消除影響用戶體驗的這些問題就必須在上傳之前對圖片做壓縮處理減小圖片的體積。微信小程序圖片壓縮總的來說有三種方法,一種是使用官方提供的接口 wx.compressImage(Object object);一種是利用canvas重繪來得到壓縮圖片;最後一種安裝第三方圖片壓縮包。三種方法各有各的優點與缺點,由於各種原因未對使用第三方壓縮包的方式進行驗證,所以只對前兩種方式進行說明。

1、wx.compressImage

優點:官方提供的接口在微信的背景下姑且認爲它的壓縮實現是最好的。官方接口對小於3MB的圖片進行壓縮時速度較快,耗時較少。

缺點:官方接口對於大於3MB的圖片壓縮較慢,耗時長。另外,當quality參數設置爲較大值時壓縮效果不明顯,有時反而增大圖片體積。

2、利用canvas重繪

優點:可以實現保持原有寬

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章