質問編集履歴
1
アドバイスいただきましたhtml2canvasを用いてキャプチャ取得を試みるようコードを書き換えました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -22,80 +22,88 @@
|
|
22
22
|
|
23
23
|
```html
|
24
24
|
|
25
|
-
<
|
25
|
+
<div id="target">
|
26
|
-
|
27
|
-
<input checked type="checkbox" id="A"><label for="A">A</label><br>
|
28
|
-
|
29
|
-
<input checked type="checkbox" id="B"><label for="B">B</label>
|
30
26
|
|
31
27
|
<table class="imageTable">
|
32
28
|
|
33
|
-
<tr
|
29
|
+
<tr>
|
34
30
|
|
35
|
-
<td><img src="https://placehold.jp/150x150.png?text=A1"></td>
|
31
|
+
<td><img src="https://placehold.jp/150x150.png?text=A1"></td>
|
36
32
|
|
37
|
-
<td><img src="https://placehold.jp/150x150.png?text=A2"></td>
|
33
|
+
<td><img src="https://placehold.jp/150x150.png?text=A2"></td>
|
38
34
|
|
39
|
-
<td><img src="https://placehold.jp/150x150.png?text=A3"></td>
|
35
|
+
<td><img src="https://placehold.jp/150x150.png?text=A3"></td>
|
40
36
|
|
41
|
-
</tr>
|
37
|
+
</tr>
|
42
|
-
|
43
|
-
<tr id="trB">
|
44
|
-
|
45
|
-
<td><img src="https://placehold.jp/150x150.png?text=B1"></td>
|
46
|
-
|
47
|
-
<td><img src="https://placehold.jp/150x150.png?text=B2"></td>
|
48
|
-
|
49
|
-
<td><img src="https://placehold.jp/150x150.png?text=B3"></td>
|
50
|
-
|
51
|
-
</tr>
|
52
38
|
|
53
39
|
</table>
|
54
40
|
|
55
|
-
</
|
41
|
+
</div>
|
56
42
|
|
43
|
+
<hr>
|
44
|
+
|
45
|
+
<h3>target範囲内を画像化<h3>
|
46
|
+
|
47
|
+
<img src="" id="result" />
|
48
|
+
|
49
|
+
<hr>
|
50
|
+
|
51
|
+
|
52
|
+
|
53
|
+
<a href="" id="ss" download="target.png">出力</a>
|
54
|
+
|
55
|
+
|
56
|
+
|
57
|
+
<script src="https://cdnjs.cloudflare.com/ajax/libs/html2canvas/0.4.1/html2canvas.js"></script>
|
58
|
+
|
57
|
-
<i
|
59
|
+
<script type="text/javascript" src="test.js"></script>
|
58
60
|
|
59
61
|
```
|
60
62
|
|
61
|
-
```c
|
63
|
+
```javascript
|
62
64
|
|
63
|
-
|
65
|
+
//test.js
|
64
66
|
|
65
|
-
|
67
|
+
//ロードされた際の処理として実施:
|
66
68
|
|
67
|
-
|
69
|
+
window.onload = function(){
|
68
70
|
|
69
|
-
#A:checked ~ .imageTable #trA,
|
70
71
|
|
71
|
-
#B:checked ~ .imageTable #trB{
|
72
72
|
|
73
|
+
//HTML内に画像を表示
|
74
|
+
|
75
|
+
html2canvas(document.getElementById("target"),{
|
76
|
+
|
73
|
-
d
|
77
|
+
onrendered: function(canvas){
|
78
|
+
|
79
|
+
//imgタグのsrcの中に、html2canvasがレンダリングした画像を指定する。
|
80
|
+
|
81
|
+
var imgData = canvas.toDataURL();
|
82
|
+
|
83
|
+
document.getElementById("result").src = imgData;
|
84
|
+
|
85
|
+
}
|
86
|
+
|
87
|
+
});
|
88
|
+
|
89
|
+
|
90
|
+
|
91
|
+
//ボタンを押下した際にダウンロードする画像を作る
|
92
|
+
|
93
|
+
html2canvas(document.body,{
|
94
|
+
|
95
|
+
onrendered: function(canvas){
|
96
|
+
|
97
|
+
//aタグのhrefにキャプチャ画像のURLを設定
|
98
|
+
|
99
|
+
var imgData = canvas.toDataURL();
|
100
|
+
|
101
|
+
document.getElementById("ss").href = imgData;
|
102
|
+
|
103
|
+
}
|
104
|
+
|
105
|
+
});
|
74
106
|
|
75
107
|
}
|
76
108
|
|
77
109
|
```
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
### 試したこと
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
こちらでアドバイスいただき、上記のように
|
86
|
-
|
87
|
-
表に配置した画像の表示を列ごとにオンオフ切り替えられる仕様になっております。
|
88
|
-
|
89
|
-
今回取得したい表全体のキャプチャは、
|
90
|
-
|
91
|
-
オンオフを指定した後のものとなります。
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
当方html,css等初心者です。
|
96
|
-
|
97
|
-
知識不足て大変申し訳ございませんが、
|
98
|
-
|
99
|
-
どなたかアドバイスいただけましたら幸いです。
|
100
|
-
|
101
|
-
何卒宜しくお願い致します。
|