Spec-Zone.ru › Web APIs

CanvasRenderingContext2D: метод closePath()

Базовый уровень Широко доступен

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с июля 2015 года.

  • Узнать больше
  • См. полную совместимость
  • Сообщить об ошибке

Метод CanvasRenderingContext2D.closePath() API Canvas 2D пытается добавить прямую линию от текущей точки до начала текущего подпути. Если фигура уже закрыта или имеет только одну точку, эта функция ничего не делает.

Этот метод не рисует ничего на холсте напрямую. Вы можете отобразить путь, используя методы stroke() или fill().

Синтаксис

closePath()

Параметры

Нет.

Возвращаемое значение

Нет (undefined).

Примеры

Закрытие треугольника

В этом примере создаются две первые (диагональные) стороны треугольника с помощью метода lineTo(). После этого основание треугольника создается с помощью метода closePath(), который автоматически соединяет первую и последнюю точки фигуры.

HTML

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

JavaScript

Углы треугольника находятся в точках (20, 140), (120, 10) и (220, 140).

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

ctx.beginPath();
ctx.moveTo(20, 140); // Move pen to bottom-left corner
ctx.lineTo(120, 10); // Line to top corner
ctx.lineTo(220, 140); // Line to bottom-right corner
ctx.closePath(); // Line to bottom-left corner
ctx.stroke();

Результат

Закрытие только одного подпути

В этом примере рисуется смайлик, состоящий из трех несвязанных подпутей.

Примечание: Хотя closePath() вызывается после создания всех дуг, закрывается только последняя дуга (подпуть).

HTML

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

JavaScript

Первые две дуги создают глаза смайлика. Последняя дуга создает рот.

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

ctx.beginPath();
ctx.arc(240, 20, 40, 0, Math.PI);
ctx.moveTo(100, 20);
ctx.arc(60, 20, 40, 0, Math.PI);
ctx.moveTo(215, 80);
ctx.arc(150, 80, 65, 0, Math.PI);
ctx.closePath();
ctx.lineWidth = 6;
ctx.stroke();

Результат

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

Спецификация
HTML
# dom-context-2d-closepath-dev

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

Настольные Мобильные
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на IOS Samsung Internet WebView Android
closePath 1 12 1.5 11.6 2 18 4 12 1 1.0 4.4

См. также

  • Интерфейс, определяющий этот метод: CanvasRenderingContext2D
  • CanvasRenderingContext2D.beginPath()

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/closePath

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API