Skip to content

Instantly share code, notes, and snippets.

@ryzr
Last active December 3, 2015 00:37
Show Gist options
  • Save ryzr/4244f02b9ef4403f04e1 to your computer and use it in GitHub Desktop.
Save ryzr/4244f02b9ef4403f04e1 to your computer and use it in GitHub Desktop.
function scaleObject(object, w_factor, h_factor)
{
var scaleX = object.scaleX;
var scaleY = object.scaleY;
var left = object.left;
var top = object.top;
var tempScaleX = scaleX * w_factor;
var tempScaleY = scaleY * h_factor;
var tempLeft = left * w_factor;
var tempTop = top * h_factor;
object.scaleX = tempScaleX;
object.scaleY = tempScaleY;
object.left = tempLeft;
object.top = tempTop;
object.setCoords();
}
function scaleCanvas(newHeight, newWidth) {
var w_factor = newWidth / canvas.getWidth();
var h_factor = newHeight / canvas.getHeight();
canvas.setHeight(newHeight);
canvas.setWidth(newWidth);
if (canvas.backgroundImage) {
var bi = canvas.backgroundImage;
bi.width = bi.width * w_factor;
bi.height = bi.height * h_factor;
}
var objects = canvas.getObjects();
for (var i in objects) {
scaleObject(objects[i], w_factor, h_factor);
}
canvas.renderAll();
canvas.calcOffset();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment