質問するログイン新規登録

回答編集履歴

1

追記

2021/09/25 16:23

投稿

itagagaki
itagagaki

スコア8402

answer CHANGED
@@ -1,4 +1,34 @@
1
1
  ```
2
2
  let canvasData = canvas.cloneNode(true);
3
3
  ```
4
- で複製したらどうですか?
4
+ で複製したらどうですか?
5
+
6
+ ---
7
+
8
+ (追記)
9
+
10
+ わかりました。drawImageできるイメージが欲しいわけですね(質問にそう書いてますね)
11
+ canvas要素の複製は不要ですね。
12
+ これでどうでしょう。
13
+
14
+ ```
15
+ <canvas id="canvas" width="200" height="200" style="background-color: black;"></canvas>
16
+ <canvas id="another-canvas" width="500" height="500" style="background-color: black;"></canvas>
17
+
18
+ <script>
19
+ const canvas = document.getElementById('canvas');
20
+
21
+ // canvasに適当に描画
22
+ const ctx = canvas.getContext('2d');
23
+ ctx.fillStyle = "green";
24
+ ctx.fillRect(50, 50, 50, 50);
25
+
26
+ // canvasに描画された内容をPNGデータ化して仮のimg要素に指定
27
+ const image = document.createElement("img");
28
+ image.src = canvas.toDataURL();
29
+
30
+ // another-canvasにdrawImage
31
+ const anotherCanvas = document.getElementById('another-canvas');
32
+ anotherCanvas.getContext('2d').drawImage(image, 0, 0, anotherCanvas.width, anotherCanvas.height);
33
+ </script>
34
+ ```