我想保存canvas标记的图像,但是当我尝试从画布创建图像时,它告诉我“ SecurityError:操作不安全”,我认为这是画布来自其他域而不是其他域的问题我上线了。此画布是使用openlayers3生成的地图。
var canvas = document.getElementsByClassName('ol-unselectable')[0];
var dataURL = canvas.toDataURL('image/png');
var window = window.open();
window.document.write('<img src='+dataURL+'/>');
我也尝试过
canvas.toBlob(function(blob) {
saveAs(blob, 'map.png')
}
周围是否有容易解决的问题,以免污染画布?
答案 0 :(得分:0)
您尝试从另一个窗口在新的浏览器窗口中写入,如果没有https协议或本地主机,这是不可能的。但是您可以在当前窗口中创建新的img。
var canvas = document.getElementsByClassName('ol-unselectable')[0];
var dataURL = canvas.toDataURL('image/png');
var img = new Image();
img.width = 1000;
img.height = 1000;
img.src = dataURL;
img.onload = function () {
document.body.append(img);
}