定义一个canvas,注意:隐藏的时间点,在图片压缩的过程中不可隐藏
<view class="canvas-box" >
<canvas hidden="{{canvasHidden}}" style="width: 300px; height: 225px;" canvas-id="myCanvas" />
</view>
注意:wx.canvasToTempFilePath 方法的调用位置
//压缩图片 path为图片地址
compressImage: function(path, cb) {
const context = wx.createCanvasContext('myCanvas')
context.drawImage(path, 0, 0, 300, 225);
context.draw(false, data => {
wx.canvasToTempFilePath({
fileType: 'jpg',
quality: 0.6,
canvasId: 'myCanvas',
success: function(res) {
cb(res.tempFilePath);
}
})
});
},