前提
Javascriptを使ってcanvasタグで画像を描画しました。
発生している問題・エラーメッセージ
canvasで描画した画像をtoDataURL()でURLに変換し、そのままそれをHTMLに表示させるようにしたかったのですが、うまくいきません。
画像を描画するところまではできるのですが、なぜか「保存」を押しても表示されないままになってしまいます。
該当のソースコード
html
1<style> 2 canvas { 3 position: relative; 4 border:1px solid #000; 5 } 6 7 div#img-box{ 8 border:1px solid #000; 9 width:500px; 10 } 11</style> 12<body> 13 <canvas id="canvassample" width="300px" height="300px"><img style="display: none;" id="media" alt="画像"></canvas> 14 <h2>画像出力<h2> 15 <div id="img-box"><img id="newImg"></div> 16 <div id="btn-box"> 17 <button type="button" onclick="chgImg()" value="1">保存</button> 18 </div> 19</body> 20 <script> 21 var canvas = document.getElementById('canvassample'), 22 ctx = canvas.getContext('2d') 23 24 var image = document.getElementById("media"); 25 26 image.src = "https://1.bp.blogspot.com/-WoPLgzbefuw/X-FcxFa-YjI/AAAAAAABdE0/42S9V3wWi400mGKLEiB_pQT-dqTKT28kwCNcBGAsYHQ/s400/onepiece14_enel.png"; 27 28 image.onload = ()=>{ 29 ctx.drawImage(image, 0, 0, 300, 300); 30 }; 31 32 33 function chgImg(){ 34 var png = canvas.toDataURL(); 35 36 document.getElementById("newImg").src = png; 37 } 38 </script>