###前提・実現したいこと
electronでローカルファイルを複数のcanvasに分けて表示し、あとからcanvasを結合してpng形式でダウンロードする処理を書いています
###発生している問題・エラーメッセージ
結合後のcanvasのtoDataURL()でブランクの画像データが取得され、canvasの内容が取得できない(canvasは正常に表示できています)
###該当のソースコード
javascript
1 let imgBase = new Image(); 2 let imgMoment = new Image(); 3 if(document.getElementById('base').checked === true){ 4 imgBase.src = document.getElementById(cvsId + 'base').toDataURL(); 5 } 6 let radio = document.querySelectorAll("input[type='radio']"); 7 for(let i = 0; i < radio.length; i++){ 8 if(radio[i].checked === true){ 9 imgMoment.src = document.getElementById(cvsId + radio[i].id).toDataURL(); 10 } 11 } 12 let output = document.createElement('canvas'); 13 let cntOut = output.getContext('2d'); 14 output.width = document.getElementById(cvsId + 'base').width; 15 output.height = document.getElementById(cvsId + 'base').height; 16 imgBase.onload = () => { 17 if(imgBase !== null){ 18 cntOut.drawImage(imgBase, 0, 0, output.width, output.height); 19 } 20 } 21 imgMoment.onload = () => { 22 if(imgMoment !== null){ 23 cntOut.drawImage(imgMoment, 0, 0, output.width, output.height); 24 } 25 } 26 document.getElementById('main').appendChild(output) 27 let aLink = document.createElement('a'); 28 aLink.href = output.toDataURL(); 29 aLink.download = 'output.png'; 30 aLink.innerHTML = 'test'; 31 document.getElementById('main').appendChild(aLink); 32 aLink.dispatchEvent(new CustomEvent('click'));
###試したこと
上記の通りcanvasは表示できていることを確認済み
コンソールから直接結合後のcanvasのtoDataURL()を取得すると想定している画像が取得できる
こちらで質問するのは初めてですので至らない点等あるかと思いますが、皆様のお力をお借りしたく思います
よろしくお願いします

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/11/08 11:48