收藏
回答

如何把 svg 绘制到 canvas 中?

const loadImg = (url, canvas) => new Promise((resolve, reject) => {
  if (!canvas) {
    wx.getImageInfo({
      src: url,
    }).then((res) => {
      if (res.errMsg !== 'getImageInfo:ok') {
        reject(res.errMsg);
      } else {
        resolve(res);
      }
    }).catch((e) => reject(e));
  } else {
    const img = canvas.createImage();
    img.onload = () => resolve(img);
    img.onerror = (e) => reject(e);
    img.src = url;
  }
});

// 实际调用
const ret = await loadImg(svg,canvas);
ctx.drawImage(ret ,0 ,0);


小程序里 canvas drawImage 需要传入 imageResource

通过上述代码,在开发者工具里,可以实现把 svg 图像绘制到 canvas

但是真机的时候,会进入到 reject(e),打印 e 显示 <undefined>,没有什么特殊的报错提示信息

真机上 svg 绘制到 canvas 有何好的解法?

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

1 个回答

  • Demons
    Demons
    2022-04-24

    请具体描述问题出现的流程,并提供能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。

    2022-04-24
    有用
    回复
登录 后发表内容