前提・実現したいこと
JavaScriptのBlobを使ってHTMLのcanvasに描かれている絵をキャプチャーしてその画像をjpeg画像として保存できるようにしたいです。そのためのテストコードを書きましたが、うまく作動しません。
発生している問題・エラーメッセージ
・下記のようなコードを書いたが、canvasに絵が描かれていない。(本来なら長方形の絵が描かれていてほしい)
・下記の「clickボタン」を押しても、ブラウザのダウンロード機能が作動しない。
使用ブラウザはChrome、OSはWindows 10です。
何がおかしいのでしょうか?
ご回答よろしくお願いします。
該当のソースコード
html
1<html> 2<head> 3 4</head> 5<body> 6 <canvas id="imgArea" width="600" height="400"></canvas> 7 <button id = "myBtn" onclick = "haha()">click</button> 8 9 10</body> 11<script src = "test.js"></script> 12</html>
JavaScript
1const canvas = document.getElementById("imgArea"); 2const ctx = canvas.getContext("2d"); 3 4ctx.fillStyle = "#fff"; 5ctx.fillRect(50, 50, 100, 100); 6 7const haha = () => { 8 const link = document.createElement("a"); 9 canvas.toBlob(function(blob){ 10 link.href = window.URL.createObjectURL(blob); 11 }); 12 link.download = "myPic.jpeg"; 13 link.click(); 14}
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。