收藏
回答

Canvas.createImageData()这个函数返回null ?

canvasclass"canvas-cm"style"width:{{window_w}}px; height:{{window_h}}px;"id"canvas-cm"type"2d"disable-scroll'true'></canvas>


canvas可以正确获取,但调用


  wx.createSelectorQuery()
      .in(page)
      .select(canvas_2d_id)
      .fields({
        node: true,
        size: true
      })
      .exec((res) => {
      console.log(res[0].node); // 这里正常,
      let imgd = res[0].node.createImageData();
      console.log(imgd); // 这里是null 导致后续业务出错。
      });
  });
最后一次编辑于  2020-01-06
回答关注问题邀请回答
收藏

4 个回答

  • 社区技术运营专员-娇华
    社区技术运营专员-娇华
    2020-01-06

    你好,麻烦具体描述问题流程,提供出现问题的具体机型、微信版本号、系统版本号,以及能复现问题的代码片段https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html

    2020-01-06
    有用
    回复 7
    查看更多(2)
  • break
    break
    09-14

    笑死人,文档不写清楚,坑全靠开发者自己来填,浪费开发者时间,真的是垃圾。

    09-14
    有用
    回复
  • AMIN
    AMIN
    05-11

    Canvas.createImageData() 这个API有点儿误导,根据现在的实现应该是直接用 CanvasRenderingContext2D 下的 APi 即可, 直接查看 HTML CANCAS 的 CanvasRenderingContext2D API 即可

    05-11
    有用
    回复
  • Quaye
    Quaye
    2020-01-06

    看过了,传三个参数,谢谢

    2020-01-06
    有用
    回复 3
    • 红鲤鱼与绿鲤鱼与驴
      红鲤鱼与绿鲤鱼与驴
      2020-05-14
      请问是哪些参数呢
      2020-05-14
      回复
    • Quaye
      Quaye
      2020-05-14回复红鲤鱼与绿鲤鱼与驴
      function createImageData(e, t, n) {
          if (!e) return null; t = parseFloat(t), n = parseFloat(n);
          for (var o = 0; o < e.length; o++) {
              var r = document.createElement("canvas").getContext("2d").createImageData(t, n);
              r.data[o] = e[o];
          }
          return r
      }
      代码看起来是这个样子,
      e似乎是个(u)init8array[],
      t似乎是width
      n似乎是height
      2020-05-14
      2
      回复
    • 天天
      天天
      2020-08-22
      按你说的,搞出来了
      2020-08-22
      回复
登录 后发表内容
问题标签