PC 端小程序依然不支持 canvas 2d?
发布于 7 年前 作者 xiuying35 5968 次浏览 来自 问答
Page({
  data: {},
  onLoad: function () {
    const dpr = wx.getSystemInfoSync().pixelRatio;
    wx.createSelectorQuery().select('#canvas')
    .fields({ node: true, size: true })
    .exec(res => {
      console.log(res) //exec 的回调函数不能执行
      const canvas = res[0].node;
      const ctx = canvas.getContext('2d');
      canvas.width = res[0].width * dpr;
      canvas.height = res[0].height * dpr;
      ctx.fillStyle = 'red'
      ctx.fillRect(0, 0, canvas.width, canvas.height)
    })
  }
})


<canvas type="2d" id="canvas" style="width: 100px; height: 100px"></canvas>


这个页面可以在 android, ios, 开发者工具成功预览, 但是通过开发者工具打开 macOS 的微信客户端进行 macOS 的真机预览时, 会显示空白, 因为 exec() 中的回调函数不会执行.

看到 2月的问题, 说 PC 端当时还不支持 canvas 2d, 那么现在还不支持?

https://developers.weixin.qq.com/community/develop/doc/000ac2d1974450c9f6e9aa1be5f400?highline=PC%20%E7%AB%AF%E5%B0%8F%E7%A8%8B%E5%BA%8F%E6%97%A0%E6%B3%95%E6%98%BE%E7%A4%BA%20canvas%202d
2 回复

你好,PC端暂不支持使用canvas 2d。

微信开发者工具提示不建议使用旧的 canvas 接口, 但是 canvas 2d 诸多 bug 和限制, 用得好难受.

回到顶部