diff --git a/client/js/js-modules/vacuum-map.js b/client/js/js-modules/vacuum-map.js index 3313aebc5a2..43e4e97d167 100644 --- a/client/js/js-modules/vacuum-map.js +++ b/client/js/js-modules/vacuum-map.js @@ -288,12 +288,15 @@ export function VacuumMap(canvasElement) { size.y = mapData.size.y; size.pixelSize = mapData.pixelSize; - if (mapData.size.x !== mapDrawer.canvas.width) { - mapDrawer.canvas.width = mapData.size.x; + let pixelX = Math.round(size.x / size.pixelSize); + let pixelY = Math.round(size.y / size.pixelSize); + + if (pixelX !== mapDrawer.canvas.width) { + mapDrawer.canvas.width = pixelX; } - if (mapData.size.y !== mapDrawer.canvas.height) { - mapDrawer.canvas.height = mapData.size.y; + if (pixelY !== mapDrawer.canvas.height) { + mapDrawer.canvas.height = pixelY; } mapDrawer.draw(mapData.layers); @@ -344,6 +347,17 @@ export function VacuumMap(canvasElement) { size.y = data.size.y; size.pixelSize = data.pixelSize; + let pixelX = Math.round(size.x / size.pixelSize); + let pixelY = Math.round(size.y / size.pixelSize); + + if (pixelX !== mapDrawer.canvas.width) { + mapDrawer.canvas.width = pixelX; + } + + if (pixelY !== mapDrawer.canvas.height) { + mapDrawer.canvas.height = pixelY; + } + window.addEventListener("resize", () => { // Save the current transformation and recreate it // as the transformation state is lost when changing canvas size