CanvasRenderingContext2D: метод createRadialGradient()
Базовая линия Широко поддерживается
Эта функция хорошо поддерживается и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с июля 2015 года.
Метод CanvasRenderingContext2D.createRadialGradient() API холста 2D создаёт радиальный градиент, используя размеры и координаты двух окружностей.
Этот метод возвращает CanvasGradient. Для применения градиента к форме, его необходимо сначала назначить свойству fillStyle или strokeStyle.
Примечание: Координаты градиента являются глобальными, т.е. относительными к текущему пространству координат. При применении к форме, координаты НЕ являются относительными к координатам формы.
Синтаксис
createRadialGradient(x0, y0, r0, x1, y1, r1)
Метод createRadialGradient() задаётся шестью параметрами, три из которых определяют начальную окружность, а три — конечную.
Параметры
Возвращаемое значение
Радиальный CanvasGradient, инициализированный двумя указанными окружностями.
Исключения
-
NotSupportedErrorDOMException -
Выбрасывается, когда в параметрах передаются бесконечные значения.
-
IndexSizeErrorDOMException -
Выбрасывается, когда в качестве параметра передаётся отрицательный радиус.
Примеры
Заполнение прямоугольника радиальным градиентом
В этом примере инициализируется радиальный градиент с помощью метода 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