drawImage+canvasToTempFilePath 在IOS上fail
发布于 5 年前 作者 juan20 1988 次浏览 来自 问答

运行环境:

iPhone4s

IOS 8.4

一个头像裁剪的功能,chooseImage获得需要裁剪的图片,通过drawImage获得裁剪后的图片,再通过canvasToTempFilePath保存临时图片。

在android 上代码都通过,在IOS上运行到canvasToTempFilePath有时会返回fail,有时会返回success,返回success时获得的临时图片是空白(白色图片)

代码如下

ctx.drawImage(this.data.tempavatar,  drawX,  drawY , this.data.bgwidth, this.data.bgheight)
ctx.draw()
 
wx.showToast({
  title: '正在保存',
  icon: 'loading',
  mask: true,
  duration: 2000
})
 
setTimeout(function(){
  wx.canvasToTempFilePath({
    canvasId: "mycanvas",
    success: function(res){
      try {
        wx.setStorageSync('avatar', res.tempFilePath)
      } catch (e) {
        console.log(e)
      }
      wx.navigateBack({
        delta: 1, // 回退前 delta(默认为1) 页面
      })
    },
    fail: function(e) {
      console.log(e)
      wx.showModal({
        title: '提示',
        showCancel: false,
        content: '获取图片失败,请重新设置',
      })
    },
    complete: function() {
     
    }
  })
},2000)
1 回复

补充:

iPhone4s 升级IOS到官方的9.3.5 ,问题依然存在

回到顶部