回答編集履歴
1
追記
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
|
+
```
|