Loading
Transformation in SVG
SVG allows you to transform elements by translating, rotating, scaling, skewing, or even animating them. This makes your graphics dynamic, interactive, and visually engaging.


1. Translation (Move)

Use: Moves an element from its original position.


Syntax:

transform="translate(x, y)"


Example: 

<svg width="500" height="400">
   <rect x="50" y="50" width="100" height="100" fill="blue" transform="translate(100, 50)" />
</svg>

The rectangle is moved 100px right and 50ps down.

Output:

Uploaded Image




2. Rotation (Rotate)

Use: Rotates the element around a specified point.


Syntax:

transform="rotate(angle, cx, cy)"


Example:

<svg width="500" height="400">
   <rect x="150" y="150" width="100" height="100" fill="lightgreen" transform="rotate(45, 200, 200)" />
</svg>

The rectangle is rotated 45 degrees around the center point (200, 200).

Output:

Uploaded Image




3. Scaling (Resize)

Use: Resizes an element in x and y directions.


Syntax:

transform="scale(sx, sy)"


Example:

<svg width="500" height="400">
   <rect x="50" y="50" width="100" height="100" fill="red" transform="scale(1.5, 0.5)" />
</svg>

The rectangle becomes 1.5x wider and half as tall.

Output:

Uploaded Image




4. Skewing (Slant)

Use: Skews an element along the X or Y axis.


Syntax:

transform="skewX(angle)"
transform="skewY(angle)"


Example:

<svg width="500" height="400">
   <rect x="50" y="50" width="100" height="100" fill="purple" transform="skewX(30)" />
</svg>

The rectangle is slanted horizontally by 30 degrees.

Output:

Uploaded Image




5. Animating Transformations

SVG also supports animation of transformations, allowing shapes to move, rotate, or scale over time.


Example:

<svg width="500" height="400">
   <rect x="150" y="150" width="100" height="100" fill="lightgreen">
      <animateTransform attributeName="transform" type="rotate" from="0 200 200" to="360 200 200" dur="5s"
         repeatCount="indefinite" />
   </rect>
</svg>

The rectangle rotates 360 degrees continuously around the point (200, 200) every 5 seconds.

Output: 

A light green square smoothly rotates 360° around its center every 5 seconds, repeating the animation endlessly.