W3docs

Référence Canvas

L'élément HTML5 <canvas> sert à dessiner des graphiques via des scripts (généralement JavaScript). Découvrez les propriétés et méthodes disponibles.

L'élément HTML5 <canvas> est utilisé pour dessiner des graphiques via des scripts (généralement JavaScript). En lui-même, l'élément <canvas> est un simple conteneur vide — vous y dessinez depuis un script.

Pour obtenir un contexte de dessin, appelez la méthode getContext('2d') de l'élément. Elle retourne un objet CanvasRenderingContext2D :

const canvas = document.getElementById('myCanvas');
const ctx = canvas.getContext('2d'); // a CanvasRenderingContext2D
ctx.fillStyle = 'green';
ctx.fillRect(10, 10, 100, 80);

Presque toutes les propriétés et méthodes de cette page appartiennent à cet objet de contexte 2D (ctx ci-dessus), et non à l'élément <canvas>. Les deux exceptions sont getContext() et toDataURL(), qui appartiennent à l'élément <canvas> lui-même, ainsi que les propriétés width/height/data dans la section Manipulation des pixels, qui appartiennent aux objets ImageData. Ces éléments sont regroupés dans leurs propres sections ci-dessous.

Pour des tutoriels pas à pas, consultez Introduction à Canvas, dessin de formes, coordonnées, texte et dégradés.

Couleurs, styles et ombres

PropriétéDescription
fillStyleDéfinit ou retourne la couleur, le dégradé ou le motif utilisé pour remplir les formes.
strokeStyleDéfinit ou retourne la couleur, le dégradé ou le motif utilisé pour les contours des formes.
shadowColorDéfinit ou retourne la couleur des ombres.
shadowBlurDéfinit ou retourne le niveau de flou des ombres.
shadowOffsetXDéfinit ou retourne le décalage horizontal de l'ombre.
shadowOffsetYDéfinit ou retourne le décalage vertical de l'ombre.
MéthodeDescription
createLinearGradient()Crée un dégradé linéaire à utiliser sur le contenu du canvas.
createPattern()Répète un élément particulier dans la direction spécifiée.
createRadialGradient()Crée un dégradé circulaire/radial à utiliser sur le contenu du canvas.
addColorStop()Définit les couleurs et les positions d'arrêt dans l'objet dégradé.

Consultez le tutoriel Dégradés Canvas pour des exemples détaillés.

Styles de ligne

PropriétéDescription
lineCapDéfinit ou retourne le style des extrémités de ligne.
lineJoinDéfinit ou retourne le type de jonction entre les lignes.
lineWidthDéfinit ou retourne la largeur de la ligne actuelle.
miterLimitDéfinit ou retourne la longueur maximale de l'onglet.
lineDashOffsetDéfinit ou retourne le décalage des pointillés de ligne.
MéthodeDescription
getLineDash()Retourne le motif de pointillés actuel sous forme d'un array de nombres.
setLineDash()Définit le motif de pointillés à partir d'un array de nombres (ex. [5, 3]).

Rectangles

MéthodeDescription
rect()Crée des rectangles.
fillRect()Dessine des rectangles remplis.
strokeRect()Dessine des contours rectangulaires.
clearRect()Efface les pixels spécifiés à l'intérieur d'un rectangle particulier.

Chemins

MéthodeDescription
fill()Remplit le ou les sous-chemin(s) actuel(s) avec le fillStyle courant.
stroke()Trace le contour du ou des sous-chemin(s) actuel(s) avec le strokeStyle courant.
beginPath()Commence un nouveau chemin ou réinitialise le chemin actuel.
moveTo()Déplace le chemin vers le point défini sur le canvas sans tracer de ligne.
closePath()Ajoute un chemin du point actuel jusqu'au point de départ.
lineTo()Ajoute une ligne au sous-chemin actuel.
clip()Crée une région d'écrêtage à partir du chemin actuel.
quadraticCurveTo()Ajoute une courbe de Bézier quadratique.
bezierCurveTo()Ajoute une courbe de Bézier cubique.
arc()Ajoute un arc/courbe pour créer des cercles ou des portions de cercle.
arcTo()Ajoute un arc/courbe entre deux tangentes.
ellipse()Ajoute un arc elliptique au chemin.
isPointInPath()Détermine si le point spécifié se trouve dans le chemin actuel ou non.

Transformations

MéthodeDescription
scale()Agrandit ou réduit le dessin actuel.
rotate()Fait pivoter le dessin actuel.
translate()Ajuste le système de coordonnées du canvas.
transform()Applique une matrice de transformation au canvas.
setTransform()Similaire à transform(). Peut être utilisé pour incliner, mettre à l'échelle et translater le canvas.
resetTransform()Réinitialise la transformation actuelle à la matrice identité.

Consultez Coordonnées Canvas pour comprendre comment la matrice de transformation associe les positions de dessin aux pixels.

Texte

PropriétéDescription
fontDéfinit l'apparence d'un texte dessiné sur le canvas.
textAlignDéfinit l'alignement d'un texte dessiné sur le canvas.
textBaselineDéfinit l'alignement vertical d'un texte dessiné sur le canvas.
directionDéfinit ou retourne la direction du texte (ltr, rtl ou inherit).
MéthodeDescription
fillText()Ajoute du texte rempli sur le canvas.
strokeText()Ajoute du texte en contour sur le canvas.
measureText()Mesure la largeur du texte.

Consultez le tutoriel Texte Canvas pour des exemples complets.

Dessin d'images

PropriétéDescription
imageSmoothingEnabledDéfinit ou retourne si les images redimensionnées sont lissées (true) ou pixelisées (false).
MéthodeDescription
drawImage()Dessine une image, une vidéo ou un canvas sur le canvas.

Manipulation des pixels

Les propriétés ci-dessous appartiennent à l'objet ImageData retourné par createImageData() / getImageData(), et non à l'élément <canvas> ou au contexte.

Propriété ImageDataDescription
widthRetourne la largeur en pixels d'un objet ImageData.
heightRetourne la hauteur en pixels d'un objet ImageData.
dataRetourne un Uint8ClampedArray contenant les données de pixels RGBA.
MéthodeDescription
createImageData()Crée un nouvel objet ImageData.
getImageData()Retourne un objet ImageData qui copie les données de pixels du rectangle spécifié.
putImageData()Place les données d'image sur le canvas à partir d'un objet ImageData.

Composition

PropriétéDescription
globalAlphaDéfinit ou retourne la valeur alpha/transparence actuelle.
globalCompositeOperationDéfinit ou retourne le type d'opération de composition lors du dessin d'une nouvelle image.
filterDéfinit ou retourne un filtre CSS appliqué au dessin (ex. blur(4px), grayscale(1)).

État du canvas

Ces méthodes appartiennent au contexte 2D et permettent de sauvegarder et restaurer l'état complet du dessin (styles, transformations, région d'écrêtage) sous forme de pile.

MéthodeDescription
save()Empile l'état actuel du contexte sur la pile d'états.
restore()Dépile l'état sauvegardé le plus récent, restaurant ces styles et transformations.

L'élément <canvas>

Les membres suivants appartiennent à l'élément <canvas> lui-même, et non au contexte 2D.

MembreDescription
getContext()Retourne un contexte de dessin pour le canvas — passez '2d' pour un CanvasRenderingContext2D.
toDataURL()Retourne une URL de données (image base64) du contenu du canvas, ex. 'image/png'.

Pratique

Pratique
Que peut faire la méthode getContext('2d') dans HTML5 Canvas ?
Que peut faire la méthode getContext('2d') dans HTML5 Canvas ?
Was this page helpful?