Scale Canvas
Scaling the canvas context
The scaleCanvas() method scales the canvas from the included point.
$('canvas') .scaleCanvas({ x: 100, y: 100, scaleX: 1.5, scaleY: 3 }) .drawArc({ fillStyle: '#000', x: 100, y: 100, radius: 20 }) .restoreCanvas();The scale property
You can also set both the scaleX and scaleY properties using the scale property.
$('canvas') .scaleCanvas({ scale: 2 }) .drawRect({ fillStyle: '#000', x: 100, y: 100, width: 100, height: 50 }) .restoreCanvas();Scaling an individual shape
Rather than scaling the entire canvas, you can scale an individual shape using any of these three properties: scale, scaleX, or scaleY.
// This square is scaled to be a rectangle$('canvas').drawRect({ fillStyle: '#36c', x: 200, y: 100, width: 100, height: 100, scaleX: 3});Layers
Although it may seem slightly counterintuitive, the scaleCanvas() method can actually be drawn as a layer. This allows for applying canvas transformations when drawing layers.
To do this, set the layer property to true, just as you would to make any other shape a layer. In addition, just as you can with any other type of layer, you can give this layer a name using the name property.
$('canvas').scaleCanvas({ layer: true, name: 'scale1'});However, whenever you’re done scaling the canvas, you must restore the transformation using the restoreCanvas() method.
$('canvas').restoreCanvas({ layer: true});Notes
The scaleX and scaleY values are multiples of the canvas’s current width/height (i.e. 1 is the baseline).
To revert to the canvas’s previous state, call the restoreCanvas() method. However, you do not need to call this method when scaling an individual shape.