# scale - method of object CanvasCtx

###### Description:
The method scales (magnifies/reduces) the current drawing.
###### Syntax:
scale(scalewidth As Long, scaleheight As Long) As Object
###### Calling:
`ctx.scale(scalewidth, scaleheight);`
###### Parameters:
scalewidth (Long) The ratio of width magnification/reduction of the current drawing (1 = 100%, 0.5 = 50%, 2 = 200%, ...) (Long) The ratio of height magnification/reduction of the current drawing (1 = 100%, 0.5 = 50%, 2 = 200%, ...)
###### Note:
The transformation allows to map the positions from one co-ordinate system to another. It can be used for drawing a shape into a magnified/reduced, rotated, shifted, mirrored 2D space. It is easier to transform the 2D space co-ordinates than recalculating the co-ordinates of all objects. All position stransformations are defined by 6 variables a, b, c, d, e, f (out of 9) of the 2D space transformation matrix. The default value of non-transformed 2D space is 1, 0, 0, 1, 0, 0 (unit matrix). The transformation matrix is included in the drawing area. The save and restore methods can save this matrix.

The transformation methods transform, translate, scale or rotate modify some (or all) values of the transformation matrix. Each method saves the current state of the transformation matrix and then applies the modification(s). I.e. these modifications are cumulative.

By contrast, the setTransform transformation method first sets the currently valid transformation matrix to the default value and then executes the transform transformation. This makes it the only transformation method that cen reset all cumulated transformations and set new transformation that is not cumulated.

The method can also be called in the graphic item events for Web Panels.
###### Example:
`ctx.strokeRect(5, 5, 25, 15);`
`ctx.scale(2, 2);`
`ctx.strokeRect(5, 5, 25, 15);`