From df762245755d9074a850c38a5356a5321a14f2bc Mon Sep 17 00:00:00 2001 From: Vincent LAURENT Date: Sun, 10 Oct 2021 01:41:53 +0200 Subject: [PATCH] Redimensionnement des objets lors du redimensionnement du canvas fabric --- public/js/app.js | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/public/js/app.js b/public/js/app.js index bf11e71..ecbb8a7 100644 --- a/public/js/app.js +++ b/public/js/app.js @@ -423,12 +423,26 @@ loadingTask.promise.then(function(pdf) { viewport = page.getViewport({ scale: scale }); } var canvasPDF = document.getElementById('canvas-pdf-' + pageIndex); - var canvasEditionHTML = document.getElementById('canvas-edition-' + pageIndex); var context = canvasPDF.getContext('2d'); canvasPDF.height = viewport.height; canvasPDF.width = viewport.width; - /*canvasEditionHTML.height = canvasPDF.height; - canvasEditionHTML.width = canvasPDF.width;*/ + canvasEdition = canvasEditions[pageIndex]; + + var scaleMultiplier = canvasPDF.width / canvasEdition.width; + var objects = canvasEdition.getObjects(); + for (var i in objects) { + objects[i].scaleX = objects[i].scaleX * scaleMultiplier; + objects[i].scaleY = objects[i].scaleY * scaleMultiplier; + objects[i].left = objects[i].left * scaleMultiplier; + objects[i].top = objects[i].top * scaleMultiplier; + objects[i].setCoords(); + } + + canvasEdition.setWidth(canvasEdition.getWidth() * scaleMultiplier); + canvasEdition.setHeight(canvasEdition.getHeight() * scaleMultiplier); + canvasEdition.renderAll(); + canvasEdition.calcOffset(); + var renderContext = { canvasContext: context, viewport: viewport, @@ -504,7 +518,6 @@ loadingTask.promise.then(function(pdf) { input_selected.checked = false; input_selected.dispatchEvent(new Event("change")); }); - canvasEditions.push(canvasEdition); }); }