1 // 変数 //////////////////////////////////////
4 var i = 0; // 画像取得回数カウント用
15 //////////////////////////////////////////////
18 // イベント登録 //////////////////////////////
22 $( "#acqButton" ).toggle( startAcq, stopAcq) ;
23 $( "#setButton" ).click( setParams );
27 //////////////////////////////////////////////
30 function startAcq () {
32 $( "#acqButton" ).text( "stop" );
35 ws = new WebSocket( "ws://"+$ipAddress+":3000" );
37 ws.onopen = function () {
38 ws.onmessage = function( event ){
39 data = JSON.parse(event.data)
40 if(data["type"]=="connection"){
41 if(data["data"]=="open"){
42 sendBuf["type"] = "req";
43 sendBuf["data"] = "img";
44 ws.send(JSON.stringify(sendBuf));
46 }else if(data["type"]=="img"){
47 draw(JSON.parse(data["data"]));
48 sendBuf["type"] = "req";
49 sendBuf["data"] = "img";
50 ws.send(JSON.stringify(sendBuf));
58 $( "#acqButton" ).text( "start" );
60 ws.close(1000, "close");
64 function dispParams () {
65 paramsT =JSON.stringify(params);
66 $( "#acqParams" ).html( paramsT );
69 function setParams () {
74 function sendSettings () {
75 params["size"] = $( "#size option:selected" ).val();
76 var exptime = $( "#exptime" ).val();
77 if( 1 >= exptime && exptime >= 0.01){
78 params["exptime"] = exptime;
79 params["binning"] = $( "#binning option:selected" ).val();
83 url:"http://"+$ipAddress+":"+$port+"/fei/set/acq_init?bng="+params["binning"]+"&&exp="+params["exptime"]+"&&size="+params["size"],
84 success: function(data){
91 function draw (data) {
96 var canvas = document.getElementById('test');
98 if(canvas.getContext){
99 ctx = canvas.getContext('2d');
106 imgData = ctx.createImageData(length, length);
109 for (var i=0;i<length;i++){
110 for (var j=0;j<length;j++){
111 var n = j*4+i*length*4;
112 var pixel = emData[i][j];
113 imgData.data[n] = pixel;
114 imgData.data[n+1] = pixel;
115 imgData.data[n+2] = pixel;
116 imgData.data[n+3] = 255;
119 // console.timeEnd('draw for');
121 // CanvasのコンテキストにImageDataを設定
122 // console.time('put');
124 ctx.putImageData(imgData, 0, 0);
125 // ctx.drawImage(imgData, 0, 0);
127 // console.timeEnd('put');