报错信息如下:image load error {"stack": "Error: The source image could not be decoded."}。
相关代码如下:
// 创建Image对象(小程序特有方式)
const img = canvas.createImage()
img.onload = () => {
//TODO: 调用ctx.drawImage来绘制图片
}
img.onerror = (err) => {
console.error('图片加载失败:', err)
}
//简化版的svg的内容
const simpleSvgUrl = 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNzY5NTY2NjQ4Nzc4IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDE3ODcgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjQ4NjEiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMzQ5LjAyMzQzNzUiIGhlaWdodD0iMjAwIj48cGF0aCBkPSJNMTE3NS4wODQ2MzYgMjkyLjMyMTM2OEgxMzguODMxNjQ0YTE0MS43ODQ2MTUgMTQxLjc4NDYxNSAwIDAgMS0xMDEuNTI0Nzg2LTQ5LjAxMTk2NkExNDcuMDM1ODk3IDE0Ny4wMzU4OTcgMCAwIDEgMTM1LjMzMDc5IDBoMTUwMy42MTcwOTRhMTQ4Ljc4NjMyNSAxNDguNzg2MzI1IDAgMCAxIDEwMy4yNzUyMTMgNDIuMDEwMjU2IDE0Ny4wMzU4OTcgMTQ3LjAzNTg5NyAwIDAgMSA0My43NjA2ODQgMTA1LjAyNTY0MSAxNDguNzg2MzI1IDE0OC43ODYzMjUgMCAwIDEtMTQ3LjAzNTg5NyAxNDcuMDM1ODk4eiIgZmlsbD0iIzY2NjY2NiIgcC1pZD0iNDg2MiI+PC9wYXRoPjxwYXRoIGQ9Ik0xMTc1LjA4NDYzNiAxMDIyLjI0OTU3M0gxMzguODMxNjQ0YTE0MS43ODQ2MTUgMTQxLjc4NDYxNSAwIDAgMS0xMDEuNTI0Nzg2LTQ5LjAxMTk2NiAxNTAuNTM2NzUyIDE1MC41MzY3NTIgMCAwIDEtMzYuNzU4OTc0LTExMi4wMjczNTEgMTQ4Ljc4NjMyNSAxNDguNzg2MzI1IDAgMCAxIDEzNC43ODI5MDYtMTM2LjUzMzMzM2gxNTAzLjYxNzA5NGExNDguNzg2MzI1IDE0OC43ODYzMjUgMCAwIDEgMTAzLjI3NTIxMyA0Mi4wMTAyNTYgMTQ1LjI4NTQ3IDE0NS4yODU0NyAwIDAgMS0xMDMuMjc1MjEzIDI1MC4zMTExMTJ6IiBmaWxsPSIjNjY2NjY2IiBwLWlkPSI0ODYzIj48L3BhdGg+PC9zdmc+';
// 提取纯 base64 部分
const base64Content = simpleSvgUrl.split(',')[1];
// 写入临时文件
const fs = wx.getFileSystemManager();
const filePath = `${wx.env.USER_DATA_PATH}/temp_${Date.now()}.svg`;
fs.writeFile({
filePath: filePath,
data: base64Content,
encoding: 'base64',
success: () => {
//设置临时路径给image对象
img.src = filePath ;
},
fail: (err)=>{ console.log( err )}
});
