Spec-Zone.ru › Web APIs

CanvasRenderingContext2D: метод createRadialGradient()

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

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

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

Метод CanvasRenderingContext2D.createRadialGradient() API холста 2D создаёт радиальный градиент, используя размеры и координаты двух окружностей.

Этот метод возвращает CanvasGradient. Для применения градиента к форме, его необходимо сначала назначить свойству fillStyle или strokeStyle.

Примечание: Координаты градиента являются глобальными, т.е. относительными к текущему пространству координат. При применении к форме, координаты НЕ являются относительными к координатам формы.

Синтаксис

createRadialGradient(x0, y0, r0, x1, y1, r1)

Метод createRadialGradient() задаётся шестью параметрами, три из которых определяют начальную окружность, а три — конечную.

Параметры

x0

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

y0

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

r0

Радиус начальной окружности. Должен быть неотрицательным и конечным.

x1

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

y1

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

r1

Радиус конечной окружности. Должен быть неотрицательным и конечным.

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

Радиальный CanvasGradient, инициализированный двумя указанными окружностями.

Исключения

NotSupportedError DOMException

Выбрасывается, когда в параметрах передаются бесконечные значения.

IndexSizeError DOMException

Выбрасывается, когда в качестве параметра передаётся отрицательный радиус.

Примеры

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

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

HTML

<canvas id="canvas" width="200" height="200"></canvas>

JavaScript

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

// Create a radial gradient
// The inner circle is at x=110, y=90, with radius=30
// The outer circle is at x=100, y=100, with radius=70
const gradient = ctx.createRadialGradient(110, 90, 30, 100, 100, 70);

// Add three color stops
gradient.addColorStop(0, "pink");
gradient.addColorStop(0.9, "white");
gradient.addColorStop(1, "green");

// Set the fill style and draw a rectangle
ctx.fillStyle = gradient;
ctx.fillRect(20, 20, 160, 160);

Результат

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

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

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

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari на IOS Samsung Internet WebView Android
createRadialGradient 1 12 1.5 ≤12.1 2 18 4 ≤12.1 1 1.0 4.4

См. также

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

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

Spec-Zone.ru

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