Rotate HTML5 Canvas around the current origin


HTML5 canvas provides rotate(angle) method which is used to rotate the canvas around the current origin.

This method only takes one parameter and that's the angle the canvas is rotated by. This is a clockwise rotation measured in radians.

Example

You can try to run the following code to rotate HTML Canvas −

<!DOCTYPE HTML>
<html>
   <head>
      <style>
         #test {
            width: 100px;
            height:100px;
            margin: 0px auto;
         }
      </style>
      <script>
         function drawShape(){
            // get the canvas element using the DOM
            var canvas = document.getElementById('mycanvas');
           
            // Make sure we don't execute when canvas isn't supported
            if (canvas.getContext){
               // use getContext to use the canvas for drawing
               var ctx = canvas.getContext('2d');
               ctx.translate(100,100);
               for (i = 1; i < 7; i++){
                  ctx.save();
                  ctx.fillStyle = 'rgb('+(51*i)+','+(200-51*i)+',0)';
                  for (j = 0; j < i*6; j++){
                     ctx.rotate(Math.PI*2/(i*6));
                     ctx.beginPath();
                     ctx.arc(0,i*12.5,5,0,Math.PI*2,true);
                     ctx.fill();
                  }
                  ctx.restore();
               }
            } else {
               alert('You need Safari or Firefox 1.5+ to see this demo.');
            }
         }
      </script>
   </head>
 
   <body id = "test" onload = "drawShape();">
      <canvas id = "mycanvas" width = "400" height = "400"></canvas>
   </body>
</html>

Updated on: 25-Jun-2020

300 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements