Spec-Zone.ru › Web APIs

CanvasRenderingContext2D: метод quadraticCurveTo()

Базовая Широко поддерживается

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

  • Узнать больше
  • Показать полную совместимость
  • Отправить отзыв

Метод CanvasRenderingContext2D.quadraticCurveTo() API холста 2D добавляет квадратичную кривую Безье к текущей подтраектории. Он требует две точки: первая — контрольная точка, а вторая — конечная точка. Начальная точка — последняя точка в текущей траектории, которую можно изменить с помощью moveTo() перед созданием квадратичной кривой Безье.

Синтаксис

quadraticCurveTo(cpx, cpy, x, y)

Параметры

cpx

Координата x контрольной точки.

cpy

Координата y контрольной точки.

x

Координата x конечной точки.

y

Координата y конечной точки.

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

None (undefined).

Примеры

Как работает quadraticCurveTo

Этот пример демонстрирует, как рисуется квадратичная кривая Безье.

HTML

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

JavaScript

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

// Quadratic Bézier curve
ctx.beginPath();
ctx.moveTo(50, 20);
ctx.quadraticCurveTo(230, 30, 50, 100);
ctx.stroke();

// Start and end points
ctx.fillStyle = "blue";
ctx.beginPath();
ctx.arc(50, 20, 5, 0, 2 * Math.PI); // Start point
ctx.arc(50, 100, 5, 0, 2 * Math.PI); // End point
ctx.fill();

// Control point
ctx.fillStyle = "red";
ctx.beginPath();
ctx.arc(230, 30, 5, 0, 2 * Math.PI);
ctx.fill();

Результат

В этом примере контрольная точка красная, а начальная и конечные точки синие.

Простая квадратичная кривая

Этот пример рисует простую квадратичную кривую Безье с использованием quadraticCurveTo().

HTML

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

JavaScript

Кривая начинается в точке, заданной moveTo(): (20, 110). Контрольная точка расположена в (230, 150). Кривая заканчивается в точке (250, 20).

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

ctx.beginPath();
ctx.moveTo(20, 110);
ctx.quadraticCurveTo(230, 150, 250, 20);
ctx.stroke();

Результат

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

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

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

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
quadraticCurveTo 1 12 1.5 11.6 3 18 4 12 1 1.0 4.4

См. также

  • Интерфейс, определяющий этот метод: CanvasRenderingContext2D
  • Кривая Безье

© 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/quadraticCurveTo

Spec-Zone.ru

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