function fitToScale()
{
activeObject = canvas.getActiveObject();
if (activeObject.width >= activeObject.height) {
expectedScaleX = (canvas.width - 20) / activeObject.width;
proportion = expectedScaleX / activeObject.scaleX;
activeObject.scaleX = expectedScaleX;
activeObject.scaleY = activeObject.scaleY * proportion;
horizontal_center_object();
}
else {
expectedScaleY = (canvas.height - 20) / activeObject.height;
proportion = expectedScaleY / activeObject.scaleY;
activeObject.scaleY = expectedScaleY;
activeObject.scaleX = activeObject.scaleX * proportion;
vertical_center_object();
}
canvas.renderAll();
}
{
activeObject = canvas.getActiveObject();
if (activeObject.width >= activeObject.height) {
expectedScaleX = (canvas.width - 20) / activeObject.width;
proportion = expectedScaleX / activeObject.scaleX;
activeObject.scaleX = expectedScaleX;
activeObject.scaleY = activeObject.scaleY * proportion;
horizontal_center_object();
}
else {
expectedScaleY = (canvas.height - 20) / activeObject.height;
proportion = expectedScaleY / activeObject.scaleY;
activeObject.scaleY = expectedScaleY;
activeObject.scaleX = activeObject.scaleX * proportion;
vertical_center_object();
}
canvas.renderAll();
}