2016-12-29 10 views
0

イメージにHTMLキャンバスをエクスポートしようとしています。しかし、イメージをエクスポートすると、img src = "undefined"が表示され続けます。キャンバスを直接ページに印刷し、正しいキャンバスを取得していることを確認しました。ここで私が使用しているコードです。あなたが見ているものが間違っていることを私に教えてください。 CORS(これはHTML5)の問題かもしれませんか?HTMLキャンバスをImageに変換しています。 Javascript

scope.getShuttleImage = function() { 
      var tmpPng 
      var imageElement 
      html2canvas(document.body.getElementsByClassName("shuttle-truck"), { 
       useCORS: true, 
       onrendered: function (canvas) { 
        tmpPng = canvas.toDataURL("image/png"); 

       } 
      }); 
      document.write('<img src= "' + tmpPng+'"/>"') // Just for testings sake 
     }; 
+2

'document.write()'を 'onrendered'ハンドラに移動します。このイベントハンドラは、イメージをページに追加した後に*実行しています。 – Archer

+0

ありがとうございます。それはかなりdorkyミスだった – user4493284

+1

Heh - それは私たちの最高に起こる:) – Archer

答えて

2

私はこの問題がhtml2canvasが非同期であると考えています。コードを次のように変更してみてください。 @Archerのように言った

scope.getShuttleImage = function() { 
     var tmpPng 
     var imageElement 
     html2canvas(document.body.getElementsByClassName("shuttle-truck"), { 
      useCORS: true, 
      onrendered: function (canvas) { 
       tmpPng = canvas.toDataURL("image/png"); 
       document.write('<img src= "' + tmpPng+'"/>"') // Just for testings sake 

      } 
     }); 
    }; 
+1

ありがとう!早朝のばか – user4493284

関連する問題