Arcs

In this chapter you will learn:

  1. How to draw arcs
  2. Using the arc Method

Drawing Arcs

We use the arc and arcTo methods to draw arcs on the canvas.

NameDescriptionReturns
arc(x, y, rad, startAngle, endAngle,direction)Draws an arc to (x, y) with radius rad, start angle startAngle, and finish angle endAngle.void
arcTo(x1, y1, x2, y2,rad)Draw an arc to (x2, y2) that passes (x1, y1) and has radius radvoid
<!DOCTYPE HTML><!--  ja v  a2s . c  o  m-->
<html>
<head>
<style>
canvas {
      border: thin solid black
}

body>* {
      float: left;
}
</style>
</head>
<body>
      <canvas id="canvas" width="500" height="840"> 
      Your browser doesn't support the <code>canvas</code> element 
      </canvas>
      <script>
            var ctx = document.getElementById("canvas").getContext("2d");
            var point1 = [ 100, 10 ];
            var point2 = [ 200, 10 ];
            var point3 = [ 200, 110 ];
            ctx.fillStyle = "yellow";
            ctx.strokeStyle = "black";
            ctx.lineWidth = 4;
            ctx.beginPath();
            ctx.moveTo(100, 200);
            ctx.arcTo(50, 110, 40, 70, 100);
            ctx.stroke();
            drawPoint(100, 200);
            drawPoint(20, 110);
            drawPoint(20, 70);
            ctx.beginPath();
            ctx.moveTo(100, 200);
            ctx.lineTo(100, 110);
            ctx.lineTo(20, 70);
            ctx.stroke();
            function drawPoint(x, y) {
                  ctx.lineWidth = 1;
                  ctx.strokeStyle = "red";
                  ctx.strokeRect(x - 2, y - 2, 4, 4);
            }
      </script>
</body>
</html>

Click to view the demo

Using the arc Method

arc(x, y, radiusOfArc, startAngle, endAngle, clockwiseTrueOrFalse);
<!DOCTYPE HTML><!--  jav a 2 s.c o m-->
<html>
<head>
<style>
canvas {
      border: thin solid black
}

body>* {
      float: left;
}
</style>
</head>
<body>
      <canvas id="canvas" width="500" height="140"> 
    Your browser doesn't support the <code>canvas</code> element 
    </canvas>
      <script>
            var ctx = document.getElementById("canvas").getContext("2d");
            ctx.fillStyle = "yellow";
            ctx.lineWidth = "3";
            ctx.beginPath();
            ctx.arc(200, 70, 60, 0, Math.PI * 2, true);
            ctx.stroke();
            ctx.beginPath();
            ctx.arc(200, 70, 60, Math.PI / 2, Math.PI, true);
            ctx.fill();
            ctx.stroke();
            ctx.beginPath();
            var val = 0;
            for ( var i = 0; i < 4; i++) {
                  ctx.arc(50, 70, 60, val, val + Math.PI / 4, false);
                  val += Math.PI / 2;
            }
            ctx.closePath();
            ctx.fill();
            ctx.stroke();
      </script>
</body>
</html>

Click to view the demo

Next chapter...

What you will learn in the next chapter:

  1. What are the methods to draw curves
Home » Javascript Tutorial » Canvas
Canvas tag
Canvas Context
Rectangle
Rectangle clear
Drawing State
Drawing state restore
Line width
Line Join Style
Line cap settings
Gradients
Linear Gradient
Radial Gradient
Path
Arcs
Two types of curve
Quadratic Bezier Curves
Cubic Bezier Curves
Clip
Text
Shadow
Transparency
Stoke style