質問するログイン新規登録

質問編集履歴

3

誤字の訂正

2016/02/22 08:16

投稿

th3
th3

スコア38

title CHANGED
File without changes
body CHANGED
@@ -64,11 +64,11 @@
64
64
  var idata = imagedata.data; //ピクセルデータをidataにセット
65
65
  var num = idata.length; //ピクセルデータ総数を取得
66
66
  var pix = num / 4; //ピクセル数を取得
67
- var count = new Array(500);
67
+ var count = new Array();
68
68
  var a,b;
69
69
 
70
70
  for(a=1; a<500 ;a++){
71
- count[a]= new Arrat(500);
71
+ count[a]= new Array();
72
72
  for(b=1; b<500 ;b++){
73
73
  for ( var i = 0 ; i < pix ; i+=4 ){
74
74
  //赤・緑・青のデータを取得

2

コードの追加

2016/02/22 08:16

投稿

th3
th3

スコア38

title CHANGED
File without changes
body CHANGED
@@ -2,13 +2,106 @@
2
2
  エラー内容が"sub.html:91 Uncaught ReferenceError: get is not defined"です。
3
3
  現在のgetの呼び出し方は以下のプログラムなのですが、このような呼び出し方はできないのでしょうか?
4
4
  ///javascriput///
5
+ <?xml version="1.0" encoding="UTF-8"?>
6
+ <!DOCTYPE HTML>
7
+ <html>
8
+ <head>
9
+ <title>sub</title>
10
+ <img id="aaa" src="/sub/map.jpg" height="500">
11
+ <script>
12
+ //厳格モード
13
+ "use strict";
14
+
15
+ var x=0;
16
+ var y=0;
17
+
18
+ (function (){
19
+ //elementをid="aaa"に設定
20
+ var element = document.getElementById("aaa");
21
+
22
+ //マウスを押すたびに実行される関数
23
+ function MouseDownFunc(event){
24
+ //右ボタンのみ反応
25
+ if(event.button == 0){
26
+ //クリック時のx座標
27
+ x=event.x;
28
+ //クリック時のy座標
29
+ y=event.y;
30
+ }
31
+ }
32
+ // イベントリスナーに対応している
33
+ if(element.addEventListener){
34
+ // マウスのボタンを押すと実行されるイベント
35
+ element.addEventListener("mousedown" , MouseDownFunc);
36
+ // アタッチイベントに対応している
37
+ }else if(element.attachEvent){
38
+ // マウスのボタンを押すと実行されるイベント
39
+ element.attachEvent("onmousedown" , MouseDownFunc);
40
+ }
41
+ })();
42
+
5
- onclick = function(){
43
+ onclick = function() {
6
44
  draw();};
45
+
7
- function draw(){
46
+ function draw() {
47
+ //"c1"から要素を取得する
48
+ var canvas = document.getElementById('c1');
49
+ if ( ! canvas || ! canvas.getContext ) { return false; }
50
+ var ctx = canvas.getContext('2d');
51
+ //Imageオブジェクトを生成
52
+ var img = new Image();
8
- ...
53
+ //元になる画像
54
+ img.src = "/sub/map.jpg";
55
+
56
+ //画像が読み込まれるのを待ってから処理を続行
57
+ img.onload = function() {
58
+ //img.srcの指定座標を表示
59
+ ctx.drawImage(img, x, y, 500, 300, 80, 60, 300, 200);
60
+
9
- function get() {
61
+ function get() {
62
+ //"c1"から要素を取得する
63
+ var imagedata = ctx.getImageData(x,y,500,300);
64
+ var idata = imagedata.data; //ピクセルデータをidataにセット
65
+ var num = idata.length; //ピクセルデータ総数を取得
66
+ var pix = num / 4; //ピクセル数を取得
67
+ var count = new Array(500);
68
+ var a,b;
69
+
70
+ for(a=1; a<500 ;a++){
71
+ count[a]= new Arrat(500);
72
+ for(b=1; b<500 ;b++){
73
+ for ( var i = 0 ; i < pix ; i+=4 ){
74
+ //赤・緑・青のデータを取得
75
+ var r = idata[ i*4 ];
76
+ var g = idata[ i*4 + 1 ];
77
+ var b = idata[ i*4 + 2 ];
78
+ //グレースケール化する処理
79
+ var gray = parseInt(( r*30 + g*59 + b*11 ) / 100);
80
+ if(gray<150){
81
+ count[a][b] = "#";
10
- ...
82
+ }else{
83
+ count[a][b] = "0";
84
+ }
85
+ }
86
+ }
87
+ }
88
+ for(var a=1; a<500; a++){
89
+ count[a][500] = "#";
90
+ }
91
+ for(var b=1; b<500; b++){
92
+ count[500][b] = "#";
93
+ }
94
+ document.write("<p>");
95
+ document.write(count[50][50]);
96
+ document.write("</p>");
97
+ }
98
+ }
99
+ get();
11
100
  }
101
+
102
+ </script>
103
+ </head>
12
- get();
104
+ <body>
13
-
105
+ <canvas id="c1" width="1176" height="700"></canvas>
14
- }
106
+ </body>
107
+ </html>

1

文法の修正

2016/02/22 05:50

投稿

th3
th3

スコア38

title CHANGED
File without changes
body CHANGED
@@ -6,9 +6,9 @@
6
6
  draw();};
7
7
  function draw(){
8
8
  ...
9
- function get();{
9
+ function get() {
10
10
  ...
11
11
  }
12
- get();{
12
+ get();
13
- }
13
+
14
14
  }