html52.com
我爱小程序-开发者交流社区

Canvas2d wx.canvasToTempFilePath 在什么时候 调用才是最合适的?

1首先 我是在整个海报全部绘制完成后 在最后调用了wx.canvasToTempFilePath 发现只有背景 没有图片

2改进方法 定义一个变量 count = 0 在所有绘制图片的地方加上1 循环定时器判断绘制完成的图片的数量和想要绘制的图片数量是否相等,相等则调用,最后发现在模拟器每次都是正常的 但是在真机上 ios13 每次绘制头像的时候count都不会自增 导致数量不相等 不能绘制海报 下面是绘制图片的代码

// 绘制图片
drawImg = (ctx, url, x, y, w, h) => {
  // 创建图片
  const img = this.canvas.createImage()
  // 设置图片路径
  img.src = url
  img.onload = () => { // 图片加载完成 绘制图片
    ctx.drawImage(img, x, y, w, h)
    this.imgCount++ // 绘制成功一张 把图片的个数+1
    console.log(`绘制图片的count` , this.imgCount)
  }
}

网友回复

Admin²⁰²⁰:

我都是在所有图片draw success后,在里面再setTimeOut canvasToTempFilePath,大的图用2000,小的用1000


评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

真正的个人免签约支付接口

云免签H5支付