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 有何好的解法?
请具体描述问题出现的流程,并提供能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。