前提・実現したいこと
現在、reactで、npmパッケージであるhtml2canvasを使用し、htmlタグをイメージとして出力しようとしています。
色々試したのですが、行き詰まってしまいました。ご存知の方は、ぜひ教えて頂けると有り難いです。
宜しくお願いします!!!
発生している問題・エラーメッセージ
しかしながら、出力されるイメージは、どれも真っ白なものになってしまいます。
該当のソースコード
jsx
1 2class TodoApp extends React.Component { 3 4 handleOutPut = () => { 5 const input = document.getElementById('page') 6 html2canvas(input, {letterRendering: 1, allowTaint: true, useCORS: true} ) 7 .then((canvas) => { 8 var imgData = canvas.toDataURL('image/png') 9 document.getElementById("result").src = imgData 10 }) 11 } 12 13 render() { 14 return ( 15 <div> 16 <div id="page"> 17 <div>a</div> 18 <div>i</div> 19 <div>u</div> 20 <div>e</div> 21 <div>o</div> 22 </div> 23 <Button onClick={this.handleOutPut}>キャプチャ</Button> 24 <img alt='outimage' id="result" src="" width="300px" height="300px"/> 25 </div> 26 ) 27 } 28} 29
試したこと
・他のbase64のデータを直接<img/>のsrcに貼り付け、表示されることを確認してます
・上記のimgDataを他のデコードサイトで表示すると、同じ様に真っ白な画面になってしまいました
・そこで、html2canvasに問題があると考え、クロスオリジンではないのですが、とりあえずクロスオリジンをtrueにしてみましたが、同じ様に真っ白になり、変化はありませんでした
補足情報(FW/ツールのバージョンなど)
package.jsonは以下の様になっています
"dependencies": {
"html2canvas": "^1.0.0-rc.5",
"react": "^16.13.0",
"react-dom": "^16.13.0",
"react-scripts": "3.4.0"
},
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/03/11 04:54 編集
2020/03/11 05:01
2020/03/11 07:29 編集