CanvasRenderingContext2D
.fillStyle
特性为
Canvas 2D API
specifies the color, gradient, or pattern to use inside shapes. The default style is
#000
(黑色)。
For more examples of fill and stroke styles, see Applying styles and color 在 Canvas tutorial .
ctx.fillStyle = color; ctx.fillStyle = gradient; ctx.fillStyle = pattern;
color
DOMString
parsed as
CSS
<color>
值。
gradient
CanvasGradient
object (a linear or radial gradient).
pattern
CanvasPattern
object (a repeating image).
This example applies a blue fill color to a rectangle.
<canvas id="canvas"></canvas>
const canvas = document.getElementById('canvas');
const ctx = canvas.getContext('2d');
ctx.fillStyle = 'blue';
ctx.fillRect(10, 10, 100, 100);
In this example, we use two
for
loops to draw a grid of rectangles, each having a different fill color. To achieve this, we use the two variables
i
and
j
to generate a unique RGB color for each square, and only modify the red and green values. (The blue channel has a fixed value.) By modifying the channels, you can generate all kinds of palettes.
<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);
}
}
结果看起来像这样:
| Screenshot | Live sample |
|---|---|
|
| 规范 | 状态 | 注释 |
|---|---|---|
|
HTML 实时标准
The definition of 'CanvasRenderingContext2D.fillStyle' in that specification. |
实时标准 |
| 桌面 | 移动 | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
fillStyle
|
Chrome Yes | Edge 12 | Firefox 1.5 | IE Yes | Opera Yes | Safari Yes | WebView Android Yes | Chrome Android Yes | Firefox Android 4 | Opera Android Yes | Safari iOS Yes | Samsung Internet Android Yes |
完整支持
In WebKit- and Blink-based browsers, the non-standard and deprecated method
ctx.setFillColor()
is implemented in addition to this property.
setFillColor(color, optional alpha); setFillColor(grayLevel, optional alpha); setFillColor(r, g, b, a); setFillColor(c, m, y, k, a);
CanvasRenderingContext2D
<color>
CSS 数据类型
CanvasGradient
对象
CanvasPattern
对象
CanvasRenderingContext2D
addHitRegion()
arc()
arcTo()
beginPath()
bezierCurveTo()
clearHitRegions()
clearRect()
clip()
closePath()
createImageData()
createLinearGradient()
createPattern()
createRadialGradient()
drawFocusIfNeeded()
drawImage()
drawWidgetAsOnScreen()
drawWindow()
ellipse()
fill()
fillRect()
fillText()
getImageData()
getLineDash()
getTransform()
isPointInPath()
isPointInStroke()
lineTo()
measureText()
moveTo()
putImageData()
quadraticCurveTo()
rect()
removeHitRegion()
resetTransform()
restore()
rotate()
save()
scale()
scrollPathIntoView()
setLineDash()
setTransform()
stroke()
strokeRect()
strokeText()
transform()
translate()