1 // 変数 //////////////////////////////////////
4 var i = 0; // 画像取得回数カウント用
15 //////////////////////////////////////////////
18 // イベント登録 //////////////////////////////
22 $( "#acqButton" ).toggle( startAcq, stopAcq) ;
23 $( "#setButton" ).click( setParams );
27 //////////////////////////////////////////////
30 function startAcq () {
33 $( "#acqButton" ).text( "stop" );
36 ws = new WebSocket( "ws://"+$ipAddress+":3000" );
38 ws.onopen = function () {
40 ws.onmessage = function( event ){
43 data = JSON.parse(event.data)
44 if(data["type"]=="connection"){
45 if(data["data"]=="open"){
46 sendBuf["type"] = "req";
47 sendBuf["data"] = "img";
48 ws.send(JSON.stringify(sendBuf));
51 }else if(data["type"]=="img"){
52 draw(JSON.parse(data["data"]));
53 sendBuf["type"] = "req";
54 sendBuf["data"] = "img";
55 ws.send(JSON.stringify(sendBuf));
64 $( "#acqButton" ).text( "start" );
66 ws.close(1000, "close");
70 function dispParams () {
71 paramsT =JSON.stringify(params);
72 $( "#acqParams" ).html( paramsT );
75 function setParams () {
80 function sendSettings () {
81 params["size"] = $( "#size option:selected" ).val();
82 var exptime = $( "#exptime" ).val();
83 if( 1 >= exptime && exptime >= 0.01){
84 params["exptime"] = exptime;
85 params["binning"] = $( "#binning option:selected" ).val();
89 url:"http://"+$ipAddress+":"+$port+"/fei/set/acq_init?bng="+params["binning"]+"&&exp="+params["exptime"]+"&&size="+params["size"],
90 success: function(data){
97 function draw (data) {
102 var canvas = document.getElementById('test');
104 if(canvas.getContext){
105 ctx = canvas.getContext('2d');
112 imgData = ctx.createImageData(length, length);
115 for (var i=0;i<length;i++){
116 for (var j=0;j<length;j++){
117 var n = j*4+i*length*4;
118 var pixel = emData[i][j];
119 imgData.data[n] = pixel;
120 imgData.data[n+1] = pixel;
121 imgData.data[n+2] = pixel;
122 imgData.data[n+3] = 255;
125 // console.timeEnd('draw for');
127 // CanvasのコンテキストにImageDataを設定
128 // console.time('put');
130 ctx.putImageData(imgData, 0, 0);
131 // ctx.drawImage(imgData, 0, 0);
133 // console.timeEnd('put');