在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/HTML/ 微信小程序中我可以使用wx.chooseImage這個(gè)api同時(shí)獲得壓縮圖片和未

微信小程序中我可以使用wx.chooseImage這個(gè)api同時(shí)獲得壓縮圖片和未壓縮圖片么

業(yè)務(wù)場(chǎng)景中有個(gè)手勢(shì)操作圖片的功能,用的是canvas,然后需要在手機(jī)端操作繪制,最后獲得圖片需要在A4紙上繪制,因?yàn)橛械膱D片會(huì)很大(大約大于3M在手機(jī)上手勢(shì)操作繪制就會(huì)卡了),但如果采用微信自動(dòng)壓縮,但壓縮后就會(huì)在A4紙上失真,所以我想問(wèn)下各位有沒(méi)有可以同時(shí)獲得壓縮圖片和未壓縮圖片么,或者把用戶傳入的圖片壓縮到2M以下,小于2M不壓縮

回答
編輯回答
蟲(chóng)児飛

自己做壓縮,把圖片繪制到制定大小的canvas上,然后調(diào)用wx.canvasToTempFilePath(OBJECT)接口保存為圖片。

wxml

<button bindtap='selectImage'>select image</button>
<button bindtap='saveImage'>save image</button>
<canvas style="width: 300px; height: 200px;" canvas-id="myCanvas"></canvas>

js

// 繪制圖片到canvas上
selectImage:function(){
    const ctx = wx.createCanvasContext('myCanvas')
    
    wx.chooseImage({
      success: function(res){
        ctx.drawImage(res.tempFilePaths[0], 0, 0, 300, 200)
        ctx.draw()
      }
    })
},
//保存圖片
saveImage:function(){
    const ctx = wx.createCanvasContext('myCanvas')
    wx.canvasToTempFilePath({
      x: 0,
      y: 0,
      width: 300,
      height: 200,
      destWidth: 300,
      destHeight: 200,
      canvasId: 'myCanvas',
      success: function(res) {
        console.log(res.tempFilePath)
        wx.previewImage({
            urls: [res.tempFilePath],
        })
      } 
    })
}
2017年7月1日 17:27