質問編集履歴

1

codeにしました

2021/01/25 20:53

投稿

taroj
taroj

スコア1

test CHANGED
File without changes
test CHANGED
@@ -24,6 +24,126 @@
24
24
 
25
25
 
26
26
 
27
+ ```
28
+
29
+ <form class="container">
30
+
31
+ <h2>Input</h2>
32
+
33
+ <input type="text" id="image-url" value="https://ja.wikipedia.org/static/images/project-logos/jawiki.png">
34
+
35
+ <button type="button" id="load">load</button>
36
+
37
+ <h2>How to use</h2>
38
+
39
+ <ol>
40
+
41
+ <li>画像URLを入力し、loadボタンで画像を読み込む(※ CORSが許可されている画像のみ)</li>
42
+
43
+ <li>zoom-in, zoom-out, ドラッグ&ドロップで画像を編集する</li>
44
+
45
+ <li>exportボタンで画像を出力する</li>
46
+
47
+ </ol>
48
+
49
+ </form>
50
+
51
+
52
+
53
+ <div class="container">
54
+
55
+ <h2>Editor</h2>
56
+
57
+ <div class="form">
58
+
59
+ <button type="button" id="export">export</button>
60
+
61
+ </div>
62
+
63
+ <div id="edit-image"></div>
64
+
65
+ </div>
66
+
67
+
68
+
69
+ <div class="container">
70
+
71
+ <h2>Output</h2>
72
+
73
+ <div id="output-image"></div>
74
+
75
+ </div>
76
+
77
+
78
+
79
+ <div class="upload"><input type="file" name="file" id="file"></div>
80
+
81
+ <div id="result"></div>
82
+
83
+
84
+
85
+ <script type="text/javascript">
86
+
87
+
88
+
89
+ var file = document.getElementById('file');
90
+
91
+ var result = document.getElementById('result');
92
+
93
+
94
+
95
+ function loadLocalImage(e) {
96
+
97
+ // ファイル情報を取得
98
+
99
+ var fileData = e.target.files[0];
100
+
101
+
102
+
103
+ // 画像ファイル以外は処理を止める
104
+
105
+ if(!fileData.type.match('image.*')) {
106
+
107
+ alert('画像を選択してください');
108
+
109
+ return;
110
+
111
+ }
112
+
113
+
114
+
115
+ // FileReaderオブジェクトを使ってファイル読み込み
116
+
117
+ var reader = new FileReader();
118
+
119
+ // ファイル読み込みに成功したときの処理
120
+
121
+ reader.onload = function() {
122
+
123
+ // ブラウザ上に画像を表示する
124
+
125
+ var img = document.createElement('img');
126
+
127
+ img.src = reader.result;
128
+
129
+ result.appendChild(img);
130
+
131
+ }
132
+
133
+ // ファイル読み込みを実行
134
+
135
+ reader.readAsDataURL(fileData);
136
+
137
+ }
138
+
139
+
140
+
141
+ // ファイルが指定された時にloadLocalImage()を実行
142
+
143
+ file.addEventListener('change', loadLocalImage, false);
144
+
145
+
146
+
27
147
  class ImageEditor {
28
148
 
29
149
  /**
@@ -368,7 +488,9 @@
368
488
 
369
489
 
370
490
 
371
- function createImageEditor() {
491
+ function createImageEditor() {
492
+
493
+
372
494
 
373
495
  const input = document.getElementById('image-url');
374
496
 
@@ -414,15 +536,17 @@
414
536
 
415
537
 
416
538
 
417
- function main() {
539
+ // ファイルが指定された時にloadLocalImage()を実行
418
-
540
+
419
- document.getElementById('load').addEventListener('click', createImageEditor);
541
+ file.addEventListener('change', createImageEditor, false);
420
-
421
- }
542
+
422
-
423
-
424
-
543
+
544
+
425
- main();
545
+ </script>
546
+
547
+
548
+
549
+ ```
426
550
 
427
551
 
428
552