Reference for Processing version 1.2. If you have a previous version, use the reference included with your software. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Javadoc.

Name

### scale()

Examples ```rect(30, 20, 50, 50);
scale(0.5);
rect(30, 20, 50, 50);``` ```rect(30, 20, 50, 50);
scale(0.5, 1.3);
rect(30, 20, 50, 50);``` ```// Scaling in 3D requires P3D
// or OPENGL as a parameter to size()
size(100, 100, P3D);
fill(255, 102);
translate(width/2+12, height/2);
box(20, 20, 20);
scale(2.5, 2.5, 2.5);
box(20, 20, 20);```
Description Increases or decreases the size of a shape by expanding and contracting vertices. Objects always scale from their relative origin to the coordinate system. Scale values are specified as decimal percentages. For example, the function call scale(2.0) increases the dimension of a shape by 200%. Transformations apply to everything that happens after and subsequent calls to the function multiply the effect. For example, calling scale(2.0) and then scale(1.5) is the same as scale(3.0). If scale() is called within draw(), the transformation is reset when the loop begins again. Using this fuction with the z parameter requires passing P3D or OPENGL into the size() parameter as shown in the example above. This function can be further controlled by pushMatrix() and popMatrix().
Syntax
```scale(size);
scale(x, y);
scale(x, y, z);```
Parameters
size float: percentage to scale the object float: percentage to scale the object in the x-axis float: percentage to scale the object in the y-axis float: percentage to scale the object in the z-axis
Returns None
Usage Web & Application
Related translate()
rotate()
rotateX()
rotateY()
rotateZ()
pushMatrix()
popMatrix()
Updated on June 14, 2010 12:05:29pm EDT