CanvasRenderingContext2D.arc()

CanvasRenderingContext2D.arc() метод Canvas 2D API добавляет дугу к пути с центром (x, y) и с радиусом r с началом в startAngle и с концом endAngle и с направлением против часовой стрелки (по умолчанию по часовой стрелке).

Синтаксис

void ctx.arc(x, y, radius, startAngle, endAngle, anticlockwise);

Параметры

x

X координата центра дуги.

y

Y координата центра дуги.

radius

Радиус.

startAngle

Угол начала дуги. Измеряется по часовой стрелке от положительной оси Х, выражается в радианах.

endAngle

Угол завершения дуги. Измеряется по часовой стрелке от положительной оси Х, выражается в радианах.

anticlockwise Необязательный

Необязательный Boolean. Задаёт направление рисования дуги. Если true - против часовой, false - по часовой.

Примеры

Использование метода arc

Ниже приведён пример простого кода который рисует круг.

HTML

html
<canvas id="canvas"></canvas>

JavaScript

js
var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");

ctx.beginPath();
ctx.arc(75, 75, 50, 0, 2 * Math.PI);
ctx.stroke();

Вы можете редактировать код, представленный ниже, и сделанные вами изменения отобразятся на холсте в режиме реального времени (убедитесь, что вы используете браузер, поддерживающий данное свойство - смотрите таблицу совместимости):

Демонстрация разных форм дуг

В этом примере нарисованные разные формы чтобы показать возможности метода arc().

js
var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");

// Draw shapes
for (i = 0; i < 4; i++) {
  for (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();
    }
  }
}
ScreenshotLive sample

Спецификации

Specification
HTML Standard
# dom-context-2d-arc-dev

Совместимость с браузерами

BCD tables only load in the browser

Смотрите также