diff --git a/index.html b/index.html
index 78b201a..ce45a53 100644
--- a/index.html
+++ b/index.html
@@ -757,7 +757,7 @@
4. Output
flipHorizontally: false,
flipVertically: false,
backgroundColor: "white",
- scale: "1",
+ scale: 1,
drawMode: "horizontal",
removeZeroesCommas: false,
ditheringThreshold: 128,
@@ -891,15 +891,15 @@ 4. Output
const flipVertical = settings["flipVertically"] ? -1 : 1;
if (settings['rotation'] == 0) {
- canvas.width = img.width;
- canvas.height = img.height;
+ canvas.width = settings['screenWidth'];
+ canvas.height = settings['screenHeight'];
const xTranslate = settings["flipHorizontally"] ? canvas.width : 0;
const yTranslate = settings["flipVertically"] ? canvas.height : 0;
ctx.setTransform(flipHorizontal, 0, 0, flipVertical, xTranslate, yTranslate);
} else if (settings['rotation'] == 90) {
- canvas.width = img.height;
- canvas.height = img.width;
+ canvas.width = settings['screenHeight'];
+ canvas.height = settings['screenWidth'];
const xTranslate = settings["flipHorizontally"] ? canvas.width : 0;
const yTranslate = settings["flipVertically"] ? canvas.height : 0;
ctx.setTransform(flipHorizontal, 0, 0, flipVertical, xTranslate, yTranslate);
@@ -909,8 +909,8 @@ 4. Output
// ctx.translate(-canvas.width/2, 0);
} else if (settings['rotation'] == 180) {
- canvas.width = img.width;
- canvas.height = img.height;
+ canvas.width = settings['screenWidth'];
+ canvas.height = settings['screenHeight'];
const xTranslate = settings["flipHorizontally"] ? canvas.width : 0;
const yTranslate = settings["flipVertically"] ? canvas.height : 0;
ctx.setTransform(flipHorizontal, 0, 0, flipVertical, xTranslate, yTranslate);
@@ -920,8 +920,8 @@ 4. Output
ctx.translate(-canvas.width/2.0, -canvas.height/2.0);
} else if (settings['rotation'] == 270) {
- canvas.width = img.height;
- canvas.height = img.width;
+ canvas.width = settings['screenHeight'];
+ canvas.height = settings['screenWidth'];
const xTranslate = settings["flipHorizontally"] ? canvas.width : 0;
const yTranslate = settings["flipVertically"] ? canvas.height : 0;
ctx.setTransform(flipHorizontal, 0, 0, flipVertical, xTranslate, yTranslate);
@@ -931,39 +931,62 @@ 4. Output
// Offset used for centering the image when requested
var offset_x = 0;
var offset_y = 0;
-
+ // var offset_x_dir = 1;
+ // var offset_y_dir = 1;
+
+ var imgW = img.width;
+ var imgH = img.height;
+ // if (settings['flipHorizontally']) {
+ // imgW = -img.width;
+ // offset_x_dir = -1;
+ // }
+ // if (settings['flipVertically']) {
+ // imgH = -img.height;
+ // offset_y_dir = -1;
+ // }
+
+ console.log('scale: ', settings['scale']);
switch(settings["scale"]){
- case "1": // Original
- if(settings["centerHorizontally"]){ offset_x = Math.round((canvas.width - img.width) / 2); }
- if(settings["centerVertically"]){ offset_y = Math.round((canvas.height - img.height) / 2); }
- ctx.drawImage(img, 0, 0, img.width, img.height,
- offset_x, offset_y, img.width, img.height);
+ case 1: // Original
+ if(settings["centerHorizontally"]){ offset_x = Math.round((canvas.width - imgW) / 2); }
+ if(settings["centerVertically"]){ offset_y = Math.round((canvas.height - imgH) / 2); }
+ // offset_x *= offset_x_dir;
+ // offset_y *= offset_y_dir;
+ console.log('original');
+ console.log(`ctx.drawImage(img, 0, 0, ${imgW}, ${imgH},
+ ${offset_x}, ${offset_y}, ${imgW}, ${imgH})`);
+ ctx.drawImage(img, 0, 0, imgW, imgH,
+ offset_x, offset_y, imgW, imgH);
break;
- case "2": // Fit (make as large as possible without changing ratio)
- var horRatio = canvas.width / img.width;
- var verRatio = canvas.height / img.height;
+ case 2: // Fit (make as large as possible without changing ratio)
+ var horRatio = canvas.width / imgW;
+ var verRatio = canvas.height / imgH;
var useRatio = Math.min(horRatio, verRatio);
- if(settings["centerHorizontally"]){ offset_x = Math.round((canvas.width - img.width*useRatio) / 2); }
- if(settings["centerVertically"]){ offset_y = Math.round((canvas.height - img.height*useRatio) / 2); }
- ctx.drawImage(img, 0, 0, img.width, img.height,
- offset_x, offset_y, img.width * useRatio, img.height * useRatio);
+ if(settings["centerHorizontally"]){ offset_x = Math.round((canvas.width - imgW*useRatio) / 2); }
+ if(settings["centerVertically"]){ offset_y = Math.round((canvas.height - imgH*useRatio) / 2); }
+ // offset_x *= offset_x_dir;
+ // offset_y *= offset_y_dir;
+ ctx.drawImage(img, 0, 0, imgW, imgH,
+ offset_x, offset_y, imgW * useRatio, imgH * useRatio);
break;
- case "3": // Stretch x+y (make as large as possible without keeping ratio)
- ctx.drawImage(img, 0, 0, img.width, img.height,
+ case 3: // Stretch x+y (make as large as possible without keeping ratio)
+ ctx.drawImage(img, 0, 0, imgW, imgH,
offset_x, offset_y, canvas.width, canvas.height);
break;
- case "4": // Stretch x (make as wide as possible)
+ case 4: // Stretch x (make as wide as possible)
offset_x = 0;
- if(settings["centerVertically"]){ Math.round(offset_y = (canvas.height - img.height) / 2); }
- ctx.drawImage(img, 0, 0, img.width, img.height,
- offset_x, offset_y, canvas.width, img.height);
+ if(settings["centerVertically"]){ Math.round(offset_y = (canvas.height - imgH) / 2); }
+ // offset_y *= offset_y_dir;
+ ctx.drawImage(img, 0, 0, imgW, imgH,
+ offset_x, offset_y, canvas.width, imgH);
break;
- case "5": // Stretch y (make as tall as possible)
- if(settings["centerHorizontally"]){ offset_x = Math.round((canvas.width - img.width) / 2); }
+ case 5: // Stretch y (make as tall as possible)
+ if(settings["centerHorizontally"]){ offset_x = Math.round((canvas.width - imgW) / 2); }
+ // offset_x *= offset_x_dir;
offset_y = 0;
- ctx.drawImage(img, 0, 0, img.width, img.height,
- offset_x, offset_y, img.width, canvas.height);
+ ctx.drawImage(img, 0, 0, imgW, imgH,
+ offset_x, offset_y, imgW, canvas.height);
break;
}
ctx.restore();