canvas使用toDataUrl()出错,img设置img.crossOrigin = "*"

页面要做一个截图的功能,本地生成了一张图片,然后转成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)

            }

        }


侃侃无极
浏览 756回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript