Maison  >  Questions et réponses  >  le corps du texte

javascript - Canvas utilise l'erreur toDataUrl(), img définit img.crossOrigin = "*" en vain.

La page doit avoir une fonction de capture d'écran. Je génère une image localement, puis je la convertis en toile, puis de toile en png, mais canvas.toDataUrl() continue de signaler une erreur :

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

Le code est le suivant :

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梦2638 Il y a quelques jours787

répondre à tous(1)je répondrai

  • 世界只因有你

    世界只因有你2017-07-05 10:59:31

    Voici un article, certains des codes qu'il contient peuvent être utiles http://fex.baidu.com/blog/201...

    répondre
    0
  • Annulerrépondre