We're looking for a user researcher to understand the needs of developers and designers. Is this you or someone you know? Check out the post: https://mzl.la/2IGzdXS

La propriété CanvasRenderingContext2D.fillStyle de l'API Canvas 2D spécifie la couleur ou style à utiliser à l'intérieur des formes. La valeur par défaut est #000 (black).

Voir également le chapitre Ajout de styles et de couleurs dans le Tutoriel canvas.

Syntaxe

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

Options

color
Une DOMString analysée comme valeur CSS <color>.
gradient
Un objet CanvasGradient (un gradient linéaire ou radial).
pattern
Un objet CanvasPattern (une image répétée).

Exemples

Utiliser la propriété fillStyle pour définir une couleur différente

Ceci est un simple snippet de code utilisant la propriété fillStyle pour définir une couleur différente.

HTML

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

JavaScript

var canvas = document.getElementById('canvas');
var ctx = canvas.getContext('2d');

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

Éditez le code ci-dessous pour voir vos changements mettre à jour le canvas directement:

Un exemple fillStyle avec les boucles for

Dans cet exemple, nous allons utiliser deux boucles for pour dessiner une grille de rectangles, chacun avec une couleur différente. L'image qui en résulte devrait ressembler à la capture d'écran. Il n'y a rien de très extraordinaire ici, nous utilisons deux variables i et j pour générer une couleur RGB unique pour chaque carré, en modifiant uniquement les valeurs de rouge et vert; le canal bleu a une valeur fixe. En modifiant les canaux, vous pouvez générer toutes sorte de palettes. En augmentant le nombre, vous pouvez générer quelque chose de ressemblant aux palettes de couleurs utilisées par Photoshop.

var ctx = document.getElementById('canvas').getContext('2d');
for (var i = 0; i < 6; i++){
  for (var 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);
  }
}

Le résultat devrait ressembler à ça:

ScreenshotLive sample

Spécifications

Specification Status Comment
HTML Living Standard
La définition de 'CanvasRenderingContext2D.fillStyle' dans cette spécification.
Standard évolutif  

Compatibilité des navigateurs

FonctionnalitéChromeEdgeFirefoxInternet ExplorerOperaSafari
Support simple Oui12 Oui Oui Oui Oui
FonctionnalitéAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Support simple Oui Oui Oui Oui Oui Oui Oui

  • Outre ctx.fillStyle, il existe dans les navigateurs basés sur WebKit et Blink une méthode non-standard et dépréciée, ctx.setFillColor().
    setFillColor(color, optional alpha);
    setFillColor(grayLevel, optional alpha);
    setFillColor(r, g, b, a);
    setFillColor(c, m, y, k, a);
    

Voir aussi

Étiquettes et contributeurs liés au document

Contributeurs à cette page : a-mt
Dernière mise à jour par : a-mt,