zrender
zrender copied to clipboard
导出图片的时候,在执行toBlob()时候浏览器报错,浏览器chrome80版本
SecurityError: Failed to execute 'toBlob' on 'HTMLCanvasElement': Tainted canvases may not be exported."
var { x, y, width, height } = this.group.getBoundingRect();
var zr = zrender.init(document.createElement('div'), {
width,
height
});
console.log(x, y, width, height)
var group = new zrender.Group();
group.position = [0 - x, 0 - y];
this.group.eachChild((child) => {
// 此处会堆栈溢出, 目前解决办法是用原始数据重新创建新的shape, 再加入到新group中
// console.log(child)
// var _child = zrender.util.clone(child);
group.add(child);
});
zr.add(group);
zr.refreshImmediately();
return zr.painter.getRenderedCanvas({
backgroundColor: "#fff"
}).toBlob((blob) => {
console.log(blob)
var url = window.URL.createObjectURL(blob);
window.open(url);
}, 'image/png');
请问这个问题目前有办法处理吗