页面要做一个截图的功能,本地生成了一张图片,然后转成canvas,再从canvas变成png,但是canvas.toDataUrl()一直报错:
Uncaught DOMException: Failed to execute 'toDataURL' on 'HTMLCanvasElement': Tainted canvases may not be exported.
代码如下:
var url = DOMURL.createObjectURL(svg);
var canvas = document.createElement('canvas');
var ctx = canvas.getContext('2d');
canvas.width = window.innerWidth;
canvas.height = window.innerHeight*1.25;
cacheImg(url,function(){
ctx.drawImage(this , 0 , 0);
var image = canvas.toDataURL("image/png").replace("image/png", 'image/octet-stream');
DOMURL.revokeObjectURL(url);
});
function cacheImg(url , callback){
var img = new Image()
img.setAttribute('crossOrigin', 'Anonymous');
img.src = url;
img.onload = function() {
callback.call(img)
}
}
这有一片文章,里面部分代码或许有帮助http://fex.baidu.com/blog/201...