functionの呼び出し時にエラーが出てしまいます。
エラー内容が"sub.html:91 Uncaught ReferenceError: get is not defined"です。
現在のgetの呼び出し方は以下のプログラムなのですが、このような呼び出し方はできないのでしょうか?
///javascriput///
</script> </head> <body> <canvas id="c1" width="1176" height="700"></canvas> </body> </html>var x=0; var y=0; (function (){ //elementをid="aaa"に設定 var element = document.getElementById("aaa"); //マウスを押すたびに実行される関数 function MouseDownFunc(event){ //右ボタンのみ反応 if(event.button == 0){ //クリック時のx座標 x=event.x; //クリック時のy座標 y=event.y; } } // イベントリスナーに対応している if(element.addEventListener){ // マウスのボタンを押すと実行されるイベント element.addEventListener("mousedown" , MouseDownFunc); // アタッチイベントに対応している }else if(element.attachEvent){ // マウスのボタンを押すと実行されるイベント element.attachEvent("onmousedown" , MouseDownFunc); } })(); onclick = function() { draw();}; function draw() { //"c1"から要素を取得する var canvas = document.getElementById('c1'); if ( ! canvas || ! canvas.getContext ) { return false; } var ctx = canvas.getContext('2d'); //Imageオブジェクトを生成 var img = new Image(); //元になる画像 img.src = "/sub/map.jpg"; //画像が読み込まれるのを待ってから処理を続行 img.onload = function() { //img.srcの指定座標を表示 ctx.drawImage(img, x, y, 500, 300, 80, 60, 300, 200); function get() { //"c1"から要素を取得する var imagedata = ctx.getImageData(x,y,500,300); var idata = imagedata.data; //ピクセルデータをidataにセット var num = idata.length; //ピクセルデータ総数を取得 var pix = num / 4; //ピクセル数を取得 var count = new Array(); var a,b; for(a=1; a<500 ;a++){ count[a]= new Array(); for(b=1; b<500 ;b++){ for ( var i = 0 ; i < pix ; i+=4 ){ //赤・緑・青のデータを取得 var r = idata[ i*4 ]; var g = idata[ i*4 + 1 ]; var b = idata[ i*4 + 2 ]; //グレースケール化する処理 var gray = parseInt(( r*30 + g*59 + b*11 ) / 100); if(gray<150){ count[a][b] = "#"; }else{ count[a][b] = "0"; } } } } for(var a=1; a<500; a++){ count[a][500] = "#"; } for(var b=1; b<500; b++){ count[500][b] = "#"; } document.write("<p>"); document.write(count[50][50]); document.write("</p>"); } } get(); }
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。