wx小程序用canvas生成图片流程与注意事项

Posted MvloveYouForever

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了wx小程序用canvas生成图片流程与注意事项相关的知识,希望对你有一定的参考价值。

1、需要画入canvas的 图片都需要先缓存到本地 

  

let ps = []
    ps.push(that.loadImageFun(this.statusInfo.avatar_url, "headImg"))
    Promise.all(ps).then(res => {
    // 画图
})


loadImageFun(url, index) {
    let _this = this
    return new Promise((resolve, reject) => {
      wx.downloadFile({
        url,
        success(res) {
          if (res.statusCode === 200) {
            _this.loadedImgs[index] = res.tempFilePath
            resolve()
          }
          else
            reject()
        },
        fail() {
          reject()
        }
      })
    })
  },

2、从canvas中导出图片时,android手机生成不了图片。(原因是,draw的回调函数在android上是假回调,因为canvas还没准备好,所以得手动加延时了...)

//绘制图片
      ctx.draw(false, () => {
        setTimeout(()=>{
          wx.canvasToTempFilePath({
            x: 0,
            y: 0,
            width: size,
            height: imgHeight,
            destWidth: size,
            destHeight: imgHeight,
            canvasId: ‘shcanvas‘,
            success: function (res) {
              var tempFilePath = res.tempFilePath;
              that.share_img = tempFilePath;
              // wx.previewImage({
              //   urls: [that.share_img],
              // })
            }
          })
        },1000)
      })

 

以上是关于wx小程序用canvas生成图片流程与注意事项的主要内容,如果未能解决你的问题,请参考以下文章

小程序---canvas画图,生成分享图片,画图文字换行

小程序canvas文本换行生成图片

微信小程序导出当前画布指定区域的内容并生成图片保存到本地相册(canvas)

canvas微信小程序如何导入个人微信

微信小程序 base64 图片 canvas 画布 drawImage 实现

钉钉小程序通过 Canvas 将页面生成图片并保存到本地相册