P5-3034 Image editor frame size wrong when on inches

This commit is contained in:
Anders Gustafsson
2018-09-20 10:09:39 +02:00
parent c38533a1b4
commit 022825195a
3 changed files with 21 additions and 7 deletions
+1 -3
View File
@@ -1043,9 +1043,7 @@ function FrameHandler(viewport) {
var vpData = viewport.getData(); var vpData = viewport.getData();
var realFrameSize = 29; // Actual real life frame size width in mm. var realFrameSize = 29; // Actual real life frame size width in mm.
if (vpData.dim.units === 'inch') {
realFrameSize /= 2.54;
}
_frameSize = vpData.ppmm * realFrameSize * viewport.canvas.getImage().scaleX; _frameSize = vpData.ppmm * realFrameSize * viewport.canvas.getImage().scaleX;
+19 -1
View File
@@ -17,6 +17,11 @@
<option value="black">Black</option> <option value="black">Black</option>
<option value="image">Image</option> <option value="image">Image</option>
</select> </select>
<label>Unit:</label>
<select id="unit">
<option value="cm">Cm</option>
<option value="inch">Inches</option>
</select>
<canvas id="image-editor" width="800" height="600"></canvas> <canvas id="image-editor" width="800" height="600"></canvas>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
@@ -25,6 +30,7 @@
<script type="text/javascript"> <script type="text/javascript">
var width = document.getElementById('width'); var width = document.getElementById('width');
var height = document.getElementById('height'); var height = document.getElementById('height');
var unit = document.getElementById('unit');
var frame = document.getElementById('frame'); var frame = document.getElementById('frame');
var posX = document.getElementById('pos-x'); var posX = document.getElementById('pos-x');
var posY = document.getElementById('pos-y'); var posY = document.getElementById('pos-y');
@@ -35,7 +41,7 @@
}); });
function cropImage() { function cropImage() {
editor.crop(width.value, height.value); editor.crop(width.value, height.value, unit.value);
} }
function setFrame() { function setFrame() {
@@ -57,10 +63,22 @@
} }
} }
function setUnit() {
if (unit.value == 'inch') {
width.value = Math.round(width.value / 2.54 * 100) / 100;
height.value = Math.round(height.value / 2.54 * 100) / 100;
} else {
width.value = Math.round(width.value * 2.54);
height.value = Math.round(height.value * 2.54);
}
cropImage();
}
//add event listeners //add event listeners
width.addEventListener('keyup', cropImage); width.addEventListener('keyup', cropImage);
height.addEventListener('keyup', cropImage); height.addEventListener('keyup', cropImage);
frame.addEventListener('change', setFrame); frame.addEventListener('change', setFrame);
unit.addEventListener('change', setUnit);
window.addEventListener('resize', resizeEditor); window.addEventListener('resize', resizeEditor);
$(document).on('PIE:dragged', showCoordinates); $(document).on('PIE:dragged', showCoordinates);
+1 -3
View File
@@ -89,9 +89,7 @@ function FrameHandler(viewport) {
var vpData = viewport.getData(); var vpData = viewport.getData();
var realFrameSize = 29; // Actual real life frame size width in mm. var realFrameSize = 29; // Actual real life frame size width in mm.
if (vpData.dim.units === 'inch') {
realFrameSize /= 2.54;
}
_frameSize = vpData.ppmm * realFrameSize * viewport.canvas.getImage().scaleX; _frameSize = vpData.ppmm * realFrameSize * viewport.canvas.getImage().scaleX;