收藏
回答

wx.canvasToTempFilePath()导出图片无效?急急急!

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

6 个回答

  • 邓志杰
    邓志杰
    2021-03-21

    我报一样的错误,在这里找到了解决方法,就是上面的lizhen,感谢。

    2021-03-21
    有用
    回复
  • 溪雨安
    溪雨安
    2021-02-23

    哥,你弄错了,canvas2D是新接口,仔细看wx.canvasToTempFilePath()接口说明,填入的参数不使用canvasId而是用canvas,且getContext()接口返回的不是canvasContext而是renderingContext

    2021-02-23
    有用
    回复
  • optimistic
    optimistic
    2020-11-19

    需要创建ctx const ctx = wx.createCanvasContext('shareCardCanvas', this) 传入你的canvas

    2020-11-19
    有用
    回复 4
    • Re、member
      Re、member
      2020-11-19
      2020-11-19
      回复
    • optimistic
      optimistic
      2020-11-19
      小程序不是html  获取节点的方法千奇百怪
      2020-11-19
      回复
    • Re、member
      Re、member
      2020-11-19回复optimistic
      但是官方文档不是这么写的么?  我就纳闷了,哎呀
      2020-11-19
      回复
    • optimistic
      optimistic
      2020-11-19回复Re、member
      偶没有噶 那你打印看看ctx是什么
      2020-11-19
      回复
  • 哄哄
    哄哄
    2020-11-19

    截图截全,大哥,你的ctx创建了么?

    2020-11-19
    有用
    回复 2
    • Re、member
      Re、member
      2020-11-19
      2020-11-19
      回复
    • Re、member
      Re、member
      2020-11-19
      肯定创建了呀,    我要的东西都画出来了
      2020-11-19
      回复
  • lizhen 🤘
    lizhen 🤘
    2020-11-19

    你报ctx.draw is not a function? 你的ctx是不是不对?

    另外draw第二个参数应该是个function,setTimeout返回的是一个number

    2020-11-19
    有用
    回复 2
    • Re、member
      Re、member
      2020-11-19
      和这个没关系,下面这么写一样报错
      2020-11-19
      回复
    • lizhen 🤘
      lizhen 🤘
      2020-11-19回复Re、member
      我只是表达你这个draw参数传错了。看了你别的截图,你ctx是通过新的 Canvas 2D 接口获取的,这个跟老的不一样,不需要调用draw()方法,直接去wx.canvasToTempFilePath,并且不需要传canvasId,要传canvas实例,就是你获取的res[0].node
      2020-11-19
      1
      回复
  • 少侠
    少侠
    2020-11-19

    你ctx哪里来的?

    2020-11-19
    有用
    回复 2
    • Re、member
      Re、member
      2020-11-19
      2020-11-19
      回复
    • 少侠
      少侠
      2020-11-19回复Re、member
      ctx.draw在init里调用的?
      2020-11-19
      回复
登录 后发表内容
问题标签