Как правильно центрировать изображение при масштабировании, а то как-то оно не очень по центру. Скорее всего тут школьный курс геометрии, но что-то никак не могу вспомнить как сделать.
function renderImage(canvas, scale) {
const context = canvas.getContext('2d');
const canvasSize = canvas.clientWidth;
const centerSize = canvasSize/2;
canvas.width = canvasSize;
canvas.height = canvasSize;
const scaleKoef = (10 + scale) / 10;
const scaleSize = canvasSize / scaleKoef;
// Центрируем изображение
const centerX = (image.width * scaleKoef / 2 - centerSize) ;
const centerY = (image.height * scaleKoef / 2 - centerSize) ;
context.drawImage(
image,
centerX, centerY, scaleSize, scaleSize,
0, 0, canvasSize, canvasSize
);
}