溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

微信小程序?qū)崿F(xiàn)圖片壓縮功能

發(fā)布時間:2020-10-04 05:18:16 來源:腳本之家 閱讀:1152 作者:liyanfei1992 欄目:web開發(fā)

小龍大哥的微信小程序在初始階段相當于IE界的6,在這里給大家說一個剛趟過去的坑。

拍照的API。

wx.chooseImage({
 count: 1, // 默認9
 sizeType: ['original', 'compressed'], // 可以指定是原圖還是壓縮圖,默認二者都有
 sourceType: ['album', 'camera'], // 可以指定來源是相冊還是相機,默認二者都有
 success: function (res) {
 // 返回選定照片的本地文件路徑列表,tempFilePath可以作為img標簽的src屬性顯示圖片
 var tempFilePaths = res.tempFilePaths; 
 }
});

在上邊,明確的給出大小的類型,本想省事,然并沒有什么用…..
廢話少說,給大家說下IOS和安卓中差別,拍照圖片壓縮的坑。

// 點擊照相
 takePictures:function(){
 var that = this;
 wx.chooseImage({
 count: 1, // 默認9
 sizeType: ['compressed'], // 可以指定是原圖還是壓縮圖,默認二者都有
 sourceType: ['camera'], // 可以指定來源是相冊還是相機,默認二者都有
 success: function (res) {
 // 返回選定照片的本地文件路徑列表,tempFilePath可以作為img標簽的src屬性顯示圖片
 var tempFilePaths = res.tempFilePaths;

 that.setData({
 attendSuccessImg:tempFilePaths[0]
 });

 // 上傳圖片
 //判斷機型
 var model = "";
 wx.getSystemInfo({
 success:function(res){
 model= res.model;
 }
 })
 if(model.indexOf("iPhone") <= 0){
 that.uploadFileOpt(that.data.attendSuccessImg);
 console.log(111111)
 }else{
 drawCanvas();

 }

 // 縮放圖片
 function drawCanvas(){
 const ctx = wx.createCanvasContext('attendCanvasId');
 ctx.drawImage(tempFilePaths[0], 0, 0, 94, 96);
 ctx.draw();
 that.prodImageOpt();
 }
 }
 });
 },

 // 生成圖片
 prodImageOpt:function(){
 var that = this;
 wx.canvasToTempFilePath({ 
 canvasId: 'attendCanvasId',
 success: function success(res) {
 that.setData({
 canvasImgUrl:res.tempFilePath
 });
 // 上傳圖片
 that.uploadFileOpt(that.data.canvasImgUrl);
 },
 complete: function complete(e) {
 }
 });
 },

再點擊拍照后,IOS的進行了圖片壓縮功能,然而,安卓的依然是那么大,所以 在這過程中,我們需要判斷下當前機型,然后執(zhí)行canvas壓縮。

上述代碼,拿到即可用,但少一部分wxml中需要添加一個canvas標簽。

進行接口調(diào)用。希望對大家有幫助。

為大家推薦現(xiàn)在關(guān)注度比較高的微信小程序教程一篇:《微信小程序開發(fā)教程》小編為大家精心整理的,希望喜歡。

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI