收藏
回答

在canvas.draw回调内调用canvasToTempFilePath生成图片不完整?

     ctx.draw(falsefunction() {


        console.log(w, h, "canvasToTempFilePath")
        setTimeout(function () {
          wx.canvasToTempFilePath({
            width: w,
            height: h,
            fileType'jpg',
            canvasId`bgcavas${bgId}`,
            successfunction (res{
              wx.getImageInfo({
                src: res.tempFilePath,
                successinfo => {
                  console.log(info, "info")
                }
              })
              that.setData({
                bgImg: res.tempFilePath
              });
            },
            completeres => {
              if (res.errMsg == 'canvasToTempFilePath:ok') {
                that.setData({
                  bgImg: res.tempFilePath
                })
              } else {
                console.error('cavas 绘制图片错误')
              }
            }
          }, that)
        }, 3000)
      }); //开始绘制

这是cavas绘制的图片

使用api保存后的图片

回答关注问题邀请回答
收藏

2 个回答

  • 松
    2020-11-19

    windows电脑上打开小程序也有此问题,微信版本3.0.0.57。开发工具1.03.2010240版本,模拟器显示是正常的。尝试宽高设置成大于canvas大小的值会按照canvase的大小画,并不起作用。destWidth,destHeight设置成多少对截图缺一块儿都不起作用。请问还有什么办法可以尝试解决此问题?

    2020-11-19
    有用
    回复
  • 社区技术运营专员-灵芝
    社区技术运营专员-灵芝
    2020-06-29

    你好,请使用新的canvas实现:小程序新 Canvas 接口公测? - 微信开放社区 https://developers.weixin.qq.com/community/develop/doc/00020a02c2c040114d19a398f5b001

    2020-06-29
    有用
    回复 1
    • Why not?
      Why not?
      2020-11-10
      我用新的canvas,在iOS上一般第一次也会出现这个问题(安卓正常),再重新执行一次就好了,初步排查是canvasToTempFilePath(我把canvs显示出来了,绘图是完整的),也好几个月了,因为这个问题我一直没有把老的canvas下掉,只在不那么重要的地方用了新版canvas,主要是为了看看是不是哪天会自己好了
      2020-11-10
      回复
登录 后发表内容
问题标签