k23
main . . . . .
. . . . .
...3...........................


. . . 0 . . 1 . . 2 . . 3 . . 4 . . 4 . .
mon_fig

script> var mediaStream = null; function f_start(a){ f_mess("f_start ="+a); if(a==0){ f_mess( "stop 1"); videoElem=video; let stream = videoElem.srcObject; let tracks = stream.getTracks(); tracks.forEach(function(track) { //const capabilities = track.getCapabilities(); // const settings = track.getSettings(); //var capabilities = MediaStreamTrack.getCapabilities(); // f_mess("zoom max ="+capabilities.zoom.max); f_mess("??4a ="+track.getSettings().width); // f_mess("??4b ="+track.getConstraints().width + //" * "+track.getConstraints().height+" * //"+track.getConstraints().zoom); //f_mess("??4c ="+track.getConstraints().viewportOffsetX ); track.stop(); }); } if(a==1){ //f_mess( "stop 1"); var s="" let constraintList = document.getElementById("constraintList"); let supportedConstraints = navigator.mediaDevices.getSupportedConstraints(); for (let constraint in supportedConstraints) { if (supportedConstraints.hasOwnProperty(constraint)) { s+=". . "+constraint; } } s+="
============"; var a=supportedConstraints.facingMode; s+="facingMode="+a; f_mess("constraint ="+ s ); } if(a==2){ videoElem=video; let stream = videoElem.srcObject; let tracks = stream.getTracks(); tracks.forEach(function(track) { //const capabilities = track.getCapabilities(); // const settings = track.getSettings(); //var capabilities = MediaStreamTrack.getCapabilities(); // f_mess("zoom max ="+capabilities.zoom.max); // f_mess("??4b ="+track.getConstraints().width + //" * "+track.getConstraints().height+" * //"+track.getConstraints().zoom); //f_mess("??4c ="+track.getConstraints().viewportOffsetX ); //track.stop(); var s=""; s+="st2=>"; /* s+="w="+track.getSettings().width; s+=" . "; s+="h="+track.getSettings().height; s+=" . "; s+="zo="+track.getSettings().zoom; s+=" . "; s+="frameRate="+track.getSettings().frameRate; s+=" . "; s+="fm="+track.getSettings().focusMode; s+=" . "; s+="iso="+track.getSettings().iso; s+=" . "; s+="a1="+track.getSettings().toString(); s+=" . "; */ s+="
a21="+Object.keys(track.getSettings() ); s+=" . "; s+="
a22="+Object.values(track.getSettings()) ; s+=" . "; s+="
a23="+track.getCapabilities(); s+=" . "; //s+="
a24="+track.getCapabilities().getSettings(); s+=" . "; f_mess(s); }); } if(a==3){ videoElem=video; let stream = videoElem.srcObject; let tracks = stream.getTracks(); tracks.forEach(function(track) { //const capabilities = track.getCapabilities(); // const settings = track.getSettings(); //var capabilities = MediaStreamTrack.getCapabilities(); // f_mess("zoom max ="+capabilities.zoom.max); // f_mess("??4b ="+track.getConstraints().width + //" * "+track.getConstraints().height+" * //"+track.getConstraints().zoom); //f_mess("??4c ="+track.getConstraints().viewportOffsetX ); //track.stop(); var s=""; s+="st3=>"; s+="w="+track.getSettings().width; s+=" . "; s+="h="+track.getSettings().height; s+=" . "; s+="zo="+track.getSettings().zoom; s+=" . "; s+="frameRate="+track.getSettings().frameRate; s+=" . "; s+="fm="+track.getSettings().focusMode; s+=" . "; s+="iso="+track.getSettings().iso; s+=" . "; s+="a1="+track.getSettings().toString(); s+=" . "; s+="
======== getTracks() ============="; var kej=Object.keys(track.getSettings() ); var vol=Object.values(track.getSettings()); for(i=0;iw2_92){ x1=w2_92; x2=w1_92; } var y1=h1_92; var y2=h2_92; if(h1_92>h2_92){ y1=h2_92; y2=h1_92; } kk_92=1; if(width<=800)kk_92=2; if(width<=400)kk_92=4; if(width<=200)kk_92=8; if(width<=100)kk_92=16; var canvas = document.getElementById("Can_93"); var ctx = canvas.getContext("2d"); canvas.width=width*kk_92; canvas.height=height*kk_92 ; ctx.imageSmoothingEnabled = false; ctx.drawImage(img, 0, 0, width, height); ctx.drawImage(img, x1, y1, width, height , 0,0, width*kk_92, height*kk_92 ); //octx.drawImage(oc, 0, 0, oc.width * 0.5, oc.height * 0.5); //drawImage(image, sx, sy, sWidth, sHeight, dx, dy, dWidth, dHeight); // Первый параметр указывает на изображение // sx, sy, sWidth, sHeight фрагмента на изображение-источнике // dx, dy, dWidth, dHeight координаты отрисовки фрагмента на холсте } var img = new Image(); img.onload = function() { var width = img.width, height = img.height; var canvas = document.getElementById("Can_92"); ctx = canvas.getContext("2d"); canvas.width=width; canvas.height=height ; ctx.drawImage(img, 0, 0, width, height); f_mess("init= "+width+" * "+height); } img.src = 'fi2.JPG'; var rez_bdu=1; var x_93=200; var y_93=200; var r_93=80; var rz_93=20; document.getElementById('Can_93').onmousedown = function(e) { var xm3=50; var ym3=50; xm3 = e.offsetX==undefined?e.layerX:e.offsetX; ym3 = e.offsetY==undefined?e.layerY:e.offsetY; var width =Math.abs(w1_92-w2_92); var height = Math.abs(h1_92-h2_92); var x1=w1_92; var x2=w2_92; if(w1_92>w2_92){ x1=w2_92; x2=w1_92; } var y1=h1_92; var y2=h2_92; if(h1_92>h2_92){ y1=h2_92; y2=h1_92; } if(ym3width*kk_92/2){x_93+=rz_93*5;}else{x_93-=rz_93*5;} }else if(ym3<3*height*kk_92/4){ if(xm3width*kk_92/2){r_93+=rz_93*5;}else{r_93-=rz_93*5;} } if(r_93<10)r_93=10; if(x_93<2)x_93=2; if(y_93<2)y_93=2; if(r_93<2)r_93=2; if(x_93>width*kk_92)x_93=width*kk_92; if(y_93>height*kk_92)y_93=height*kk_92; var s=""; s+="93= "+xm3+" * "+ym3+" . r= "+(r_93); s+="/"+kk_92+"="+(r_93/kk_92).toFixed(1); //s+="
8.5 2m=64px= 2.43° 0.40"; var ugg= (r_93/kk_92)*2.43/64; rez_bdu=ugg/6; s+="
"+(ugg).toFixed(2)+"°=>"+(ugg/6).toFixed(2)+" бду"; f_mess(s); var canvas = document.getElementById("Can_93"); var ctx = canvas.getContext("2d"); canvas.width=width*kk_92; canvas.height=height*kk_92 ; ctx.imageSmoothingEnabled = false; ctx.drawImage(img, 0, 0, width, height); ctx.drawImage(img, x1, y1, width, height , 0,0, width*kk_92, height*kk_92 ); //ctx.imageSmoothingEnabled = true; ctx.fillStyle="rgba(120,120,240,1)" ; ctx.font = "bold 90px family, sans-serif"; ctx.fillText( ""+rz_93 , 5, 88); ctx.fillStyle="rgba(220,220,220,1)" ; ctx.fillRect(0, 2, 5, height*kk_92-4); ctx.fillStyle="rgba(20,20,220,1)" ; ctx.fillRect(0, 1*height*kk_92/4, 5, height*kk_92/4); ctx.fillRect(0, 3*height*kk_92/4, 5, height*kk_92/4); ctx.strokeStyle = "#ffffff"; ctx.lineWidth=5; ctx.beginPath(); ; ctx.arc(x_93,y_93,r_93,0, 2*Math.PI,true); ctx.moveTo(x_93, 5); ctx.lineTo(x_93, height*kk_92-10) ctx.moveTo(x_93+8, y_93+100*kk_92/6); ctx.lineTo(x_93-8, y_93+100*kk_92/6) ctx.moveTo(5, y_93); ctx.lineTo( width*kk_92-10, y_93) ctx.stroke(); ctx.strokeStyle = "#000000"; ctx.lineWidth=1; ctx.beginPath(); ; ctx.arc(x_93,y_93,r_93,0, 2*Math.PI,true); ctx.moveTo(x_93, 5); ctx.lineTo(x_93, height*kk_92-10) ctx.moveTo(5, y_93); ctx.lineTo( width*kk_92-10, y_93) ctx.stroke(); }
. . . . . . H= . . . . . . . . . . L= . . .
mon_fig52
"
8.5sm 2m=64px= 2.43° 0.40";
onFocus="this.select();" onKeyUp="f_ev_f12();
u=h/l


























































































































































































http://qaru.site/questions/14061265/take-snapshot-from-webcam-on-website img = Object.assign({}, img2);