未捕获的DomeException:未能在“HTMLCanvaElement”上执行“toDataURL”:可能无法导出受污染的画布。出现这个bug的原因可能有:
1.图片跨域
let plShareImg = new Image();
plShareImg.crossOrigin = "anonymous";//添加此行anonymous必须小写
plShareImg.src = props.plShareImg;
2.图片未处理完就开始画布
plShareImg必须是最后一张图片
plShareImg.onload = () => {
//开始画布
};
3.导出的图片也需要anonymous
state.shareImg = new Image();
state.shareImg.setAttribute("crossOrigin", "anonymous");
state.shareImg = cvs.toDataURL("image/png");//最终海报