我有一个 SVG,其中包含许多引用外部图像源的图像标签(比如来自 amazon s3 存储桶)。我正在尝试将其转换为 png 像这样
canvg(document.getElementById('myCanvas'), svg);
var imgData = document.getElementById('myCanvas').toDataURL("image/png");
我收到此错误Uncaught SecurityError: Failed to execute 'toDataURL' on 'HTMLCanvasElement': 受污染的画布可能无法导出。
我已经更改了我的 s3 存储桶设置(如此处所述)。在canvg函数之后添加了这段代码
var img = new Image();
img.setAttribute('crossOrigin', 'anonymous');
img.src = document.getElementById('myCanvas').value;
甚至尝试遍历所有图像标签并设置 crossOrigin 属性
我仍然遇到同样的错误。