質問編集履歴

1

ソースコードの引用

2017/11/26 08:40

投稿

Stephen_J
Stephen_J

スコア18

test CHANGED
File without changes
test CHANGED
@@ -19,3 +19,107 @@
19
19
 
20
20
 
21
21
  よろしくお願いします。
22
+
23
+
24
+
25
+ 追記(上記のデモサイトから引用させていただきました)
26
+
27
+
28
+
29
+ ```HTML/JavaScript
30
+
31
+ <!DOCTYPE html>
32
+
33
+ <html>
34
+
35
+ <head>
36
+
37
+ <meta charset="utf-8">
38
+
39
+ <title>JS Bin</title>
40
+
41
+ </head>
42
+
43
+ <body>
44
+
45
+ <input type="file" onchange="onInputChanged(event)">
46
+
47
+ <hr>オリジナルサイズ:<br>
48
+
49
+ <img id="previewLarge">
50
+
51
+ <hr>縮小サイズ:<br>
52
+
53
+ <img id="previewSmall">
54
+
55
+
56
+
57
+ <script>
58
+
59
+ function onInputChanged(e) {
60
+
61
+ var file = e.target.files && e.target.files[0];
62
+
63
+ if (file != null) {
64
+
65
+ var reader = new FileReader();
66
+
67
+ reader.onload = onImageLoad;
68
+
69
+ reader.readAsDataURL(file);
70
+
71
+ }
72
+
73
+ }
74
+
75
+ function onImageLoad(e) {
76
+
77
+ var largeData = e.target.result;
78
+
79
+ var smallData = makeSmall(largeData);
80
+
81
+ previewLarge.src = largeData;
82
+
83
+ previewSmall.src = smallData;
84
+
85
+ }
86
+
87
+
88
+
89
+ // 画像データ(DataURL)を縮小して返す
90
+
91
+ function makeSmall(data) {
92
+
93
+ // 画像データの縦横サイズを取得する
94
+
95
+ var image = document.createElement('img');
96
+
97
+ image.src = data;
98
+
99
+ var width = image.naturalWidth;
100
+
101
+ var height = image.naturalHeight;
102
+
103
+
104
+
105
+ // 縮小する。今回は縦横それぞれ1/2
106
+
107
+ var canvas = document.createElement('canvas');
108
+
109
+ canvas.width = width / 2;
110
+
111
+ canvas.height = height / 2;
112
+
113
+ canvas.getContext("2d").drawImage(image, 0, 0, width / 2, height / 2);
114
+
115
+ return canvas.toDataURL();
116
+
117
+ }
118
+
119
+ </script>
120
+
121
+ </body>
122
+
123
+ </html>
124
+
125
+ ```