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 :
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.
Définit ou retourne la couleur, le dégradé ou le motif utilisé pour remplir les formes.
strokeStyle
Définit ou retourne la couleur, le dégradé ou le motif utilisé pour les contours des formes.
shadowColor
Définit ou retourne la couleur des ombres.
shadowBlur
Définit ou retourne le niveau de flou des ombres.
shadowOffsetX
Définit ou retourne le décalage horizontal de l'ombre.
shadowOffsetY
Définit ou retourne le décalage vertical de l'ombre.
Méthode
Description
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
lineCap
Définit ou retourne le style des extrémités de ligne.
lineJoin
Définit ou retourne le type de jonction entre les lignes.
lineWidth
Définit ou retourne la largeur de la ligne actuelle.
miterLimit
Définit ou retourne la longueur maximale de l'onglet.
lineDashOffset
Définit ou retourne le décalage des pointillés de ligne.
Méthode
Description
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éthode
Description
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éthode
Description
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éthode
Description
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
font
Définit l'apparence d'un texte dessiné sur le canvas.
textAlign
Définit l'alignement d'un texte dessiné sur le canvas.
textBaseline
Définit l'alignement vertical d'un texte dessiné sur le canvas.
direction
Définit ou retourne la direction du texte (ltr, rtl ou inherit).
Méthode
Description
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
imageSmoothingEnabled
Définit ou retourne si les images redimensionnées sont lissées (true) ou pixelisées (false).
Méthode
Description
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é ImageData
Description
width
Retourne la largeur en pixels d'un objet ImageData.
height
Retourne la hauteur en pixels d'un objet ImageData.
data
Retourne un Uint8ClampedArray contenant les données de pixels RGBA.
Méthode
Description
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
globalAlpha
Définit ou retourne la valeur alpha/transparence actuelle.
globalCompositeOperation
Définit ou retourne le type d'opération de composition lors du dessin d'une nouvelle image.
filter
Dé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éthode
Description
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.
Membre
Description
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 ?