CanvasRenderingContext2D.fillStyle

Свойство CanvasRenderingContext2D.fillStyle, предоставляемое Canvas 2D API, задаёт цвет или стиль, используемый при заливке фигур. По умолчанию установлено значение #000 (чёрный цвет).

Примечание: Смотрите также главу Applying styles and color в Canvas Tutorial.

Синтаксис

ctx.fillStyle = color;
ctx.fillStyle = gradient;
ctx.fillStyle = pattern;

Значения

color

DOMString строка, содержащая цвет в формате, поддерживающимся стандартом CSS (<color>).

gradient

Объект класса CanvasGradient (линейный или круговой градиент ).

pattern

Объект класса CanvasPattern (повторяющееся изображение).

Примеры

Изменение цвета заливки фигуры

Ниже представлен простой фрагмент кода, использующий fillStyle с цветом.

HTML

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

JavaScript

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

ctx.fillStyle = "blue";
ctx.fillRect(10, 10, 100, 100);

Результат

Использование fillStyle в циклах for

В этом примере мы используем два цикла для рисования сетки из прямоугольников, каждый из которых будет закрашен разным цветом. Получившееся изображение должно выглядеть как на скриншоте . Здесь нет ничего сложного. Мы используем две переменные i и j, чтобы создать уникальный цвет для каждого квадрата, смешивая красный и зелёный цвета. Значение синего цвета изменяться не будет. Изменяя значения цветов, вы можете создать все цвета. Увеличив количество шагов, вы сможете создать цветовую палитру, наподобие той, которая используется в Photoshop.

js
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);
  }
}

Результат

ScreenshotLive sample

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

Specification
HTML Standard
# dom-context-2d-fillstyle-dev

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

BCD tables only load in the browser

Смотрите также