i'm having some issues when the canvas width and height changes, i want the items to be in there same position..
i' using the latest version of fabricjs and using pdfjs library with it..
here's the code i'm using to try to fix it, but not working unfortunately:
function rescale_canvas_if_needed() {
var optimal_dimensions = [$(".canvasWrapper").outerWidth(), $(".canvasWrapper").outerHeight()];
var scaleFactorX = window.innerWidth / optimal_dimensions[0];
var scaleFactorY = window.innerHeight / optimal_dimensions[1];
if (scaleFactorX < scaleFactorY && scaleFactorX < 1) {
canvas.setWidth(optimal_dimensions[0] * scaleFactorX);
canvas.setHeight(optimal_dimensions[1] * scaleFactorX);
canvas.setZoom(scaleFactorX);
} else if (scaleFactorX > scaleFactorY && scaleFactorY < 1) {
canvas.setWidth(optimal_dimensions[0] * scaleFactorY);
canvas.setHeight(optimal_dimensions[1] * scaleFactorY);
canvas.setZoom(scaleFactorY);
} else {
canvas.setWidth(optimal_dimensions[0]);
canvas.setHeight(optimal_dimensions[1]);
canvas.setZoom(1);
}
canvas.calcOffset();
canvas.renderAll();
}
function handle_resize() {
$(".canvas-container").hide();
rescale_canvas_if_needed();
$(".canvas-container").show();
}
to test it: try adding an drawing on the book and click on the zoom in and out and see how the canvas items position is changing.