配列やオブジェクトを別の変数に代入するにあたって、値の格納場所を参照させるのではなく値そのものをコピーしたい場合はスプレッド構文が有効ですが、canvasの値をコピーしたい場合はどうすればよいのでしょうか?
Javascript
1const canvas = document.getElementById('canvas');//キャンバスを取得 2const ctx = canvas.getContext("2d");//コンテクストを取得 3 4let canvasData = canvas;//キャンバスの値を保存 5 6ctx.fillRect(50, 50, 50, 50);//適当にキャンバスをいじる 7 8ctx.drawImage(canvasData, 0, 0, canvas.width, canvas.height);//いじる前のキャンバスをここで描画したい
上記のような動作を実現したいのですが、実際にはいじった後のcanvasが描画されてしまいます。なので変数canvasDataにcanvasの値そのものをコピーし、その後canvasに操作を加えてもcanvasDataには影響が出ないようにしたいです
getImageDataを用いてイメージそのものをコピーすることも考えましたが、それだとdrawImageではなくputImageDataでしか描画できないのでやめました。サイズ変更などが可能なdrawImageでどうにか実現したいです
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/09/25 10:50 編集
2021/09/25 13:24
2021/09/25 15:12
2021/09/25 16:24
2021/09/25 17:18