diff --git a/sd-card/html/edit_analog.html b/sd-card/html/edit_analog.html index 0d8eed40..d9bd3577 100644 --- a/sd-card/html/edit_analog.html +++ b/sd-card/html/edit_analog.html @@ -107,7 +107,7 @@ th, td { - + @@ -115,20 +115,24 @@ th, td { x: - dx: - + Δx: + y: - dy: - + Δy: + + + + + - + @@ -150,6 +154,7 @@ th, td { ROIInfo, enhanceCon = false; lockAR = true; + lockSizes = true; basepath = "http://192.168.178.26"; function doReboot() { @@ -247,6 +252,10 @@ function changelockAR(){ lockAR = document.getElementById("lockAR").checked; } +function changelockSizes(){ + lockSizes = document.getElementById("lockSizes").checked; +} + function changeCCW(){ var sel = document.getElementById("Numbers_value1"); var _number = sel.options[sel.selectedIndex].text; @@ -342,6 +351,7 @@ function UpdateROIs(_sel){ } document.getElementById("lockAR").checked = lockAR; + document.getElementById("lockSizes").checked = lockSizes; document.getElementById("refx").value = ROIInfo[aktindex]["x"]; document.getElementById("refy").value = ROIInfo[aktindex]["y"]; @@ -480,6 +490,19 @@ function removeNumber(){ { var sel = document.getElementById("index"); var _number = sel.selectedIndex; + + if (lockSizes) { + // Synchronize dx and dy + for (var _nb = 0; _nb < ROIInfo.length; _nb++) + { + if (_nb != _number) + { + ROIInfo[_nb].dy = rect.h; + ROIInfo[_nb].dx = rect.w; + } + } + } + for (var _nb = 0; _nb < ROIInfo.length; _nb++) { if (_nb != _number) diff --git a/sd-card/html/edit_digits.html b/sd-card/html/edit_digits.html index c0685acb..7484fd64 100644 --- a/sd-card/html/edit_digits.html +++ b/sd-card/html/edit_digits.html @@ -105,20 +105,26 @@ th, td { - - + + - - + + + + + + +
x: dx: Δx:
y: dy:
Δy:
+
- + @@ -141,7 +147,8 @@ th, td { ROIInfo, enhanceCon = false; lockAR = true; - basepath = "http://192.168.178.26"; + lockSizes = true; + basepath = "http://192.168.1.151"; function doReboot() { if (confirm("Are you sure you want to reboot? Did you save the config?")) { @@ -239,6 +246,14 @@ function changelockAR(){ lockAR = document.getElementById("lockAR").checked; } +function changelockSizes(){ + lockSizes = document.getElementById("lockSizes").checked; + + if (!lockSizes) { + alert("For best results it is (in most cases) advised to keep the y, Δx and Δy identical!"); + } +} + function ChangeSelection(){ aktindex = parseInt(document.getElementById("index").value); // lockAR = true; @@ -322,6 +337,7 @@ function UpdateROIs(_sel){ } document.getElementById("lockAR").checked = lockAR; + document.getElementById("lockSizes").checked = lockSizes; document.getElementById("refx").value = ROIInfo[aktindex]["x"]; document.getElementById("refy").value = ROIInfo[aktindex]["y"]; @@ -455,6 +471,20 @@ function draw() { { var sel = document.getElementById("index"); var _number = sel.selectedIndex; + + if (lockSizes) { + // Synchronize Y, dx and dy + for (var _nb = 0; _nb < ROIInfo.length; _nb++) + { + if (_nb != _number) + { + ROIInfo[_nb].y = rect.startY; + ROIInfo[_nb].dy = rect.h; + ROIInfo[_nb].dx = rect.w; + } + } + } + for (var _nb = 0; _nb < ROIInfo.length; _nb++) { if (_nb != _number) @@ -492,6 +522,7 @@ function draw() { ROIInfo[aktindex]["y"] = rect.startY; ROIInfo[aktindex]["dx"] = rect.w; ROIInfo[aktindex]["dy"] = rect.h; + } } @@ -573,6 +604,7 @@ function draw() { if (!drag) { rect.w = document.getElementById("refdx").value; rect.h = document.getElementById("refdy").value; + if (lockAR) { rect.w = Math.round(rect.h * ROIInfo[aktindex]["ar"]); document.getElementById("refdx").value = rect.w; @@ -588,6 +620,7 @@ function draw() { if (!drag) { rect.w = document.getElementById("refdx").value; rect.h = document.getElementById("refdy").value; + if (lockAR) { rect.h = Math.round(rect.w / ROIInfo[aktindex]["ar"]); document.getElementById("refdy").value = rect.h; @@ -599,6 +632,39 @@ function draw() { } } + // Make all X spaces equidistant + function makeX_SpaceEquidistant() { + if (ROIInfo.length == 1) { // Only one number + return; + } + + var sel = document.getElementById("index"); + var _number = sel.selectedIndex; + var space; + + if (_number == 0) { // First number, use space to next one as reference + space = ROIInfo[1].x - parseInt(ROIInfo[0].x) - parseInt(ROIInfo[0].dx); + + for (var _nb = 1; _nb < ROIInfo.length; _nb++) { + ROIInfo[_nb].x = parseInt(ROIInfo[_nb-1].x) + parseInt(ROIInfo[_nb-1].dx) + space; + } + } + else { // In between, use space to previous one as reference + space = ROIInfo[_number].x - ROIInfo[_number-1].x - ROIInfo[_number-1].dx; + + + for (var _nb = _number - 1; _nb >= 0 ; _nb--) { // left side + ROIInfo[_nb].x = parseInt(ROIInfo[_nb+1].x) - parseInt(ROIInfo[_nb].dx) - space; + } + + for (var _nb = _number + 1; _nb < ROIInfo.length; _nb++) { // right side + ROIInfo[_nb].x = parseInt(ROIInfo[_nb-1].x) + parseInt(ROIInfo[_nb-1].dx) + space; + } + } + + draw(); + } + function renameROI(){ var sel = document.getElementById("Numbers_value1"); var _number= sel.options[sel.selectedIndex].text;