Rotate HTML5 Canvas around the current origin

JavascriptWeb DevelopmentFront End Scripts

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>
raja
Published on 06-Apr-2018 10:45:43
Advertisements