質問編集履歴

3

誤字の訂正

2016/02/22 08:16

投稿

th3
th3

スコア38

test CHANGED
File without changes
test CHANGED
@@ -130,7 +130,7 @@
130
130
 
131
131
  var pix = num / 4; //ピクセル数を取得
132
132
 
133
- var count = new Array(500);
133
+ var count = new Array();
134
134
 
135
135
  var a,b;
136
136
 
@@ -138,7 +138,7 @@
138
138
 
139
139
  for(a=1; a<500 ;a++){
140
140
 
141
- count[a]= new Arrat(500);
141
+ count[a]= new Array();
142
142
 
143
143
  for(b=1; b<500 ;b++){
144
144
 

2

コードの追加

2016/02/22 08:16

投稿

th3
th3

スコア38

test CHANGED
File without changes
test CHANGED
@@ -6,22 +6,208 @@
6
6
 
7
7
  ///javascriput///
8
8
 
9
+ <?xml version="1.0" encoding="UTF-8"?>
10
+
11
+ <!DOCTYPE HTML>
12
+
13
+ <html>
14
+
15
+ <head>
16
+
17
+ <title>sub</title>
18
+
19
+ <img id="aaa" src="/sub/map.jpg" height="500">
20
+
21
+ <script>
22
+
23
+ //厳格モード
24
+
25
+ "use strict";
26
+
27
+
28
+
29
+ var x=0;
30
+
31
+ var y=0;
32
+
33
+
34
+
35
+ (function (){
36
+
37
+ //elementをid="aaa"に設定
38
+
39
+ var element = document.getElementById("aaa");
40
+
41
+
42
+
43
+ //マウスを押すたびに実行される関数
44
+
45
+ function MouseDownFunc(event){
46
+
47
+ //右ボタンのみ反応
48
+
49
+ if(event.button == 0){
50
+
51
+ //クリック時のx座標
52
+
53
+ x=event.x;
54
+
55
+ //クリック時のy座標
56
+
57
+ y=event.y;
58
+
59
+ }
60
+
61
+ }
62
+
63
+ // イベントリスナーに対応している
64
+
65
+ if(element.addEventListener){
66
+
67
+ // マウスのボタンを押すと実行されるイベント
68
+
69
+ element.addEventListener("mousedown" , MouseDownFunc);
70
+
71
+ // アタッチイベントに対応している
72
+
73
+ }else if(element.attachEvent){
74
+
75
+ // マウスのボタンを押すと実行されるイベント
76
+
77
+ element.attachEvent("onmousedown" , MouseDownFunc);
78
+
79
+ }
80
+
81
+ })();
82
+
83
+
84
+
9
- onclick = function(){
85
+ onclick = function() {
10
86
 
11
87
  draw();};
12
88
 
89
+
90
+
13
- function draw(){
91
+ function draw() {
92
+
14
-
93
+ //"c1"から要素を取得する
94
+
95
+ var canvas = document.getElementById('c1');
96
+
97
+ if ( ! canvas || ! canvas.getContext ) { return false; }
98
+
99
+ var ctx = canvas.getContext('2d');
100
+
101
+ //Imageオブジェクトを生成
102
+
103
+ var img = new Image();
104
+
15
- ...
105
+ //元になる画像
106
+
16
-
107
+ img.src = "/sub/map.jpg";
108
+
109
+
110
+
111
+ //画像が読み込まれるのを待ってから処理を続行
112
+
113
+ img.onload = function() {
114
+
115
+ //img.srcの指定座標を表示
116
+
117
+ ctx.drawImage(img, x, y, 500, 300, 80, 60, 300, 200);
118
+
119
+
120
+
17
- function get() {
121
+ function get() {
122
+
18
-
123
+ //"c1"から要素を取得する
124
+
125
+ var imagedata = ctx.getImageData(x,y,500,300);
126
+
127
+ var idata = imagedata.data; //ピクセルデータをidataにセット
128
+
129
+ var num = idata.length; //ピクセルデータ総数を取得
130
+
131
+ var pix = num / 4; //ピクセル数を取得
132
+
133
+ var count = new Array(500);
134
+
135
+ var a,b;
136
+
137
+
138
+
139
+ for(a=1; a<500 ;a++){
140
+
141
+ count[a]= new Arrat(500);
142
+
143
+ for(b=1; b<500 ;b++){
144
+
145
+ for ( var i = 0 ; i < pix ; i+=4 ){
146
+
147
+ //赤・緑・青のデータを取得
148
+
149
+ var r = idata[ i*4 ];
150
+
151
+ var g = idata[ i*4 + 1 ];
152
+
153
+ var b = idata[ i*4 + 2 ];
154
+
155
+ //グレースケール化する処理
156
+
157
+ var gray = parseInt(( r*30 + g*59 + b*11 ) / 100);
158
+
159
+ if(gray<150){
160
+
161
+ count[a][b] = "#";
162
+
19
- ...
163
+ }else{
164
+
165
+ count[a][b] = "0";
166
+
167
+ }
168
+
169
+ }
170
+
171
+ }
172
+
173
+ }
174
+
175
+ for(var a=1; a<500; a++){
176
+
177
+ count[a][500] = "#";
178
+
179
+ }
180
+
181
+ for(var b=1; b<500; b++){
182
+
183
+ count[500][b] = "#";
184
+
185
+ }
186
+
187
+ document.write("<p>");
188
+
189
+ document.write(count[50][50]);
190
+
191
+ document.write("</p>");
192
+
193
+ }
194
+
195
+ }
196
+
197
+ get();
20
198
 
21
199
  }
22
200
 
201
+
202
+
203
+ </script>
204
+
205
+ </head>
206
+
23
- get();
207
+ <body>
208
+
24
-
209
+ <canvas id="c1" width="1176" height="700"></canvas>
25
-
26
-
210
+
27
- }
211
+ </body>
212
+
213
+ </html>

1

文法の修正

2016/02/22 05:50

投稿

th3
th3

スコア38

test CHANGED
File without changes
test CHANGED
@@ -14,14 +14,14 @@
14
14
 
15
15
  ...
16
16
 
17
- function get();{
17
+ function get() {
18
18
 
19
19
  ...
20
20
 
21
21
  }
22
22
 
23
- get();{
23
+ get();
24
24
 
25
- }
25
+
26
26
 
27
27
  }