CanvasRenderingContext2D: свойство fillStyle
Базовая линия Широко доступно
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна во всех браузерах с июля 2015 года.
Свойство CanvasRenderingContext2D.fillStyle API Canvas 2D задаёт цвет, градиент или узор для заполнения фигур. По умолчанию используется #000 (чёрный).
Примечание: Дополнительные примеры стилей заполнения и обводки см. в разделе Применение стилей и цветов руководства по Canvas.
Значение
Одно из следующих значений:
- Строка, интерпретируемая как значение CSS
<color>. - Объект
CanvasGradient(линейный или радиальный градиент). - Объект
CanvasPattern(повторяющийся узор).
Примеры
Изменение цвета заливки фигуры
В этом примере применяется синий цвет заливки к прямоугольнику.
HTML
<canvas id="canvas"></canvas>
JavaScript
const canvas = document.getElementById("canvas");
const ctx = canvas.getContext("2d");
ctx.fillStyle = "blue";
ctx.fillRect(10, 10, 100, 100);
Результат
Создание нескольких цветов заливки с помощью циклов
В этом примере используются два for цикла для отрисовки сетки прямоугольников, каждый с разным цветом заливки. Для этого используются две переменные i и j, которые генерируют уникальный цвет RGB для каждого квадрата, изменяя только значения красного и зелёного каналов. (Синий канал имеет фиксированное значение). Изменяя каналы, можно создавать различные палитры.
const canvas = document.getElementById("canvas");
const ctx = canvas.getContext("2d");
for (let i = 0; i < 6; i++) {
for (let j = 0; j < 6; j++) {
ctx.fillStyle = `rgb(
${Math.floor(255 - 42.5 * i)}
${Math.floor(255 - 42.5 * j)}
0)`;
ctx.fillRect(j * 25, i * 25, 25, 25);
}
}
Результат выглядит так:
Спецификации
| Спецификация |
|---|
| HTML # dom-context-2d-fillstyle-dev |
Совместимость браузеров
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
fillStyle |
1 | 12 | 1.5 | ≤12.1 | 2 | 18 | 4 | ≤12.1 | 1 | 1.0 | 4.4 |
Примечание для WebKit/Blink
В браузерах на основе WebKit и Blink, помимо этого свойства, реализован нестандартный и устаревший метод ctx.setFillColor().
setFillColor(color, /* (optional) */ alpha); setFillColor(grayLevel, /* (optional) */ alpha); setFillColor(r, g, b, a); setFillColor(c, m, y, k, a);
См. также
-
Интерфейс, определяющий это свойство:
CanvasRenderingContext2D -
Значения, используемые этим свойством:
-
<color>тип данных CSS -
CanvasGradientобъект -
CanvasPatternобъект
-
© 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/fillStyle