--- title: CanvasRenderingContext2D.arc() slug: Web/API/CanvasRenderingContext2D/arc translation_of: Web/API/CanvasRenderingContext2D/arc ---
El método CanvasRenderingContext2D .arc() de la API de Canvas 2D añade un arco a la trayectoria centrada en la posición (x, y) con el radio r comenzando en startAngle y terminando en endAngle que va en la dirección dada en sentido antihorario (predeterminado en sentido  horario) .
Void ctx .arc (x, y, radio, startAngle, endAngle, antihorario);
xyradiusstartAngleendAngleanticlockwise OpcionalBoolean opcional que, si es true , hace que el arco se dibuje en sentido contrario a las agujas del reloj entre los dos ángulos.  De forma predeterminada, se dibuja en el sentido de las agujas del reloj.arcEsto es sólo un simple fragmento de código dibujando un círculo.
<canvas id="canvas"></canvas>
var canvas = document.getElementById('canvas');
var ctx = canvas.getContext('2d');
ctx.beginPath();
ctx.arc(75, 75, 50, 0, 2 * Math.PI);
ctx.stroke();
Edite el código de abajo y vea su actualización de cambios en vivo en el lienzo:
<canvas id="canvas" width="400" height="200" class="playable-canvas"></canvas> <div class="playable-buttons"> <input id="edit" type="button" value="Edit" /> <input id="reset" type="button" value="Reset" /> </div> <textarea id="code" class="playable-code"> ctx.beginPath(); ctx.arc(50, 50, 50, 0, 2 * Math.PI, false); ctx.stroke();</textarea>
var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");
var textarea = document.getElementById("code");
var reset = document.getElementById("reset");
var edit = document.getElementById("edit");
var code = textarea.value;
function drawCanvas() {
  ctx.clearRect(0, 0, canvas.width, canvas.height);
  eval(textarea.value);
}
reset.addEventListener("click", function() {
  textarea.value = code;
  drawCanvas();
});
edit.addEventListener("click", function() {
  textarea.focus();
})
textarea.addEventListener("input", drawCanvas);
window.addEventListener("load", drawCanvas);
{{ EmbedLiveSample('Playable_code', 700, 360) }}
En este ejemplo se dibujan diferentes formas para mostrar lo que es posible al usar arc() .
<canvas id="canvas" width="150" height="200"></canvas>
var canvas = document.getElementById('canvas');
var ctx = canvas.getContext('2d');
// Draw shapes
for (var i = 0; i < 4; i++) {
  for(var j = 0; j < 3; j++) {
    ctx.beginPath();
    var x              = 25 + j * 50;               // x coordinate
    var y              = 25 + i * 50;               // y coordinate
    var radius         = 20;                    // Arc radius
    var startAngle     = 0;                     // Starting point on circle
    var endAngle       = Math.PI + (Math.PI * j) /2; // End point on circle
    var anticlockwise  = i % 2 == 1;                // Draw anticlockwise
    ctx.arc(x, y, radius, startAngle, endAngle, anticlockwise);
    if (i > 1) {
      ctx.fill();
    } else {
      ctx.stroke();
    }
  }
}
{{ EmbedLiveSample('Different_shapes_demonstrated', 160, 210, "https://mdn.mozillademos.org/files/204/Canvas_arc.png") }}
| Especificación | Estado | Comentario | WHATWG HTML Estándar de vida La definición de 'CanvasRenderingContext2D.arc' en esa especificación.  | 
   Estándar de vida | Status | Comment | 
|---|---|---|---|---|---|---|
| {{SpecName('HTML WHATWG', "scripting.html#dom-context-2d-arc", "CanvasRenderingContext2D.arc")}} | {{Spec2('HTML WHATWG')}} | 
Comenzando con Gecko 2.0 (Firefox 4 / Thunderbird 3.3 / SeaMonkey 2.1):
anticlockwise es opcional,IndexSizeError ("Índice o tamaño es negativo o mayor que la cantidad permitida").CanvasRenderingContext2D