javascript – Canvas verwendet den toDataUrl()-Fehler, img setzt img.crossOrigin = „*' ohne Erfolg.
过去多啦不再A梦
过去多啦不再A梦 2017-07-05 10:57:31
0
1
803

Die Seite wird über eine Screenshot-Funktion verfügen. Ich erzeuge lokal ein Bild, konvertiere es dann in Canvas und ändere es dann von Canvas in PNG, aber canvas.toDataUrl() meldet weiterhin einen Fehler:

Uncaught DOMException: Failed to execute 'toDataURL' on 'HTMLCanvasElement': Tainted canvases may not be exported.

Der Code lautet wie folgt:

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)
            }
        }
过去多啦不再A梦
过去多啦不再A梦

Antworte allen(1)
世界只因有你

这有一片文章,里面部分代码或许有帮助http://fex.baidu.com/blog/201...

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!