--- title: CanvasRenderingContext2D.fillStyle slug: Web/API/CanvasRenderingContext2D/fillStyle tags: - API - Canvas - Property translation_of: Web/API/CanvasRenderingContext2D/fillStyle ---
Свойство CanvasRenderingContext2D
.fillStyle
, предоставляемое Canvas 2D API, задает цвет или стиль, используемый при заливке фигур. По умолчанию установлено значение #000
(черный цвет).
См. также главу Applying styles and color в Canvas Tutorial.
ctx.fillStyle = color; ctx.fillStyle = gradient; ctx.fillStyle = pattern;
color
gradient
pattern
Ниже представлен простой фрагмент кода, использующий fillStyle
с цветом.
<canvas id="canvas"></canvas>
const canvas = document.getElementById('canvas'); const ctx = canvas.getContext('2d'); ctx.fillStyle = 'blue'; ctx.fillRect(10, 10, 100, 100);
{{ EmbedLiveSample('Изменение_цвета_заливки_фигуры', 700, 160) }}
В этом примере мы используем два цикла для рисования сетки из прямоугольников, каждый из которых будет закрашен разным цветом. Получившееся изображение должно выглядеть как на скриншоте . Здесь нет ничего сложного. Мы используем две переменные i
и j
, чтобы создать уникальный цвет для каждого квадрата, смешивая красный и зеленый цвета. Значение синего цвета изменяться не будет. Изменяя значения цветов, вы можете создать все цвета. Увеличив количество шагов, вы сможете создать цветовую палитру, наподобие той, которая используется в Photoshop.
<canvas id="canvas" width="150" height="150"></canvas>
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); } }
{{EmbedLiveSample("Использование_fillStyle_в_циклах_for", 160, 160, "https://mdn.mozillademos.org/files/5417/Canvas_fillstyle.png")}}
Спецификация | Статус | Комментарий |
---|---|---|
{{SpecName('HTML WHATWG', "scripting.html#dom-context-2d-fillstyle", "CanvasRenderingContext2D.fillStyle")}} | {{Spec2('HTML WHATWG')}} |
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-dataand send us a pull request.
{{Compat("api.CanvasRenderingContext2D.fillStyle")}}
В браузерах на основе WebKit и Blink реализован устаревший и нестандартный метод ctx.setFillColor()
в дополнение к этому.
В браузерах на базе Webkit и Blink помимо этого свойства, также поддерживается нестандартный метод ctx.setFillColor()
.
setFillColor(color, optional alpha); setFillColor(grayLevel, optional alpha); setFillColor(r, g, b, a); setFillColor(c, m, y, k, a);