Objet Canvas du DOM HTML

L'élément <canvas> définit une zone bitmap dans une page HTML.

L'API Canvas permet à JavaScript de dessiner des graphiques sur le canevas.

L'API Canvas permet de dessiner des formes, des lignes, des courbes, des boîtes, du texte et des images, ainsi que des opérations sur les couleurs, la rotation, la transparence et d'autres opérations sur les pixels.

Ajouter Canvas à HTML

Vous pouvez ajouter l'élément canvas à n'importe quel endroit dans une page HTML en utilisant la balise <canvas> :

Exemple

<canvas id="myCanvas" width="300" height="150"></canvas>

Essayez-le vous-même

Comment accéder à l'élément Canvas

Vous pouvez accéder à l'élément <canvas> en utilisant la méthode HTML DOM getElementById() :

const myCanvas = document.getElementById("myCanvas");

Pour dessiner sur le canevas, vous devez créer un objet contexte 2D :

const ctx = myCanvas.getContext("2d");

Remarque

L'élément HTML <canvas> n'a pas de fonctionnalité de dessin.

Vous devez utiliser JavaScript pour dessiner n'importe quel graphique.

La méthode getContextMenu() retourne un objet avec des outils de dessin (méthodes).

Dessiner sur le canevas

Après avoir créé l'objet contexte 2D, vous pouvez dessiner sur le canevas.

La méthode fillRect() ci-dessous dessine un rectangle noir whose coin supérieur gauche est à la position 20,20. Le rectangle a une largeur de 150 pixels et une hauteur de 100 pixels :

Exemple

const myCanvas = document.getElementById("myCanvas");
const ctx = myCanvas.getContext("2d");
ctx.fillRect(20, 20, 150, 100);

Essayez-le vous-même

En utilisant la couleur

L'attribut fillStyle définit la couleur de remplissage de l'objet de dessin :

Exemple

const myCanvas = document.getElementById("myCanvas");
const ctx = myCanvas.getContext("2d");
ctx.fillStyle = "red";
ctx.fillRect(20, 20, 150, 100);

Essayez-le vous-même

Vous pouvez également créer un nouvel élément <canvas> à l'aide de la méthode document.createElement() et l'ajouter à une page HTML existante :

Exemple

const myCanvas = document.createElement("canvas");
document.body.appendChild(myCanvas);
const ctx = myCanvas.getContext("2d");
ctx.fillStyle = "red";
ctx.fillRect(20, 20, 150, 100);

Essayez-le vous-même

Chemin

Les méthodes courantes pour dessiner sur le canevas sont :

  1. Commencer un chemin - beginPath()
  2. Déplacer à un point - moveTo()
  3. Dessiner dans le chemin - lineTo()
  4. Dessiner un chemin - stroke()

Exemple

const canvas = document.getElementById("myCanvas");
const ctx = canvas.getContext("2d");
ctx.beginPath();
ctx.moveTo(20, 20);
ctx.lineTo(20, 100);
ctx.lineTo(70, 100);
ctx.stroke();

Essayez-le vous-même

Couleur, style et ombre

Attribut Description
fillStyle Définir ou retourner la couleur, le dégradé ou le motif utilisés pour le remplissage du dessin.
strokeStyle Définir ou retourner la couleur, la dégradé ou le motif utilisés pour les traits.
shadowColor Définir ou retourner la couleur utilisée pour l'ombre.
shadowBlur Définir ou retourner le niveau de flou de l'ombre.
shadowOffsetX Définir ou retourner la distance horizontale de l'ombre à la forme.
shadowOffsetY Définir ou retourner la distance verticale de l'ombre à la forme.
Méthode Description
createLinearGradient() Créer un dégradé linéaire (utilisé pour le contenu du canvas).
createPattern() Répéter l'élément spécifié dans la direction spécifiée.
createRadialGradient() Créer un dégradé radial/circulaire (utilisé pour le contenu du canvas).
addColorStop() Définir les couleurs et les positions d'arrêt dans l'objet de dégradé.

Style de ligne

Attribut Description
lineCap Définir ou retourner le style de couverture des extrémités de la ligne.
lineJoin Définir ou retourner le type d'angle créé lors de la jonction de deux lignes.
lineWidth Définir ou retourner la largeur de ligne actuelle.
miterLimit Définir ou retourner la longueur maximale des sauts.

Rectangle

Méthode Description
rect() Créer un rectangle.
fillRect() Dessiner un rectangle 'rempli'.
strokeRect() Dessiner un rectangle (sans remplissage).
clearRect() Effacer les pixels spécifiés dans le rectangle donné.

Chemin

Méthode Description
fill() Remplir le graphique actuel (chemin).
stroke() En fait, dessiner le chemin que vous avez défini.
beginPath() Commencer un chemin ou réinitialiser le chemin actuel.
moveTo() Déplacer le chemin à un point spécifié sur le canvas sans créer de ligne.
closePath() Créer un chemin qui retourne au point de départ à partir du point actuel.
lineTo() Ajouter un nouveau point et créer une ligne de ce point au dernier point spécifié sur le canvas.
clip() Couper une zone de forme et de taille arbitraires de la peinture originale.
quadraticCurveTo() Créer une courbe de Bézier en deux points.
bezierCurveTo() Créer une courbe de Bézier en trois points.
arc() Créer un arc/courbe (utilisé pour créer un cercle ou une partie d'un cercle).
arcTo() Créer un arc/courbe entre deux tangentes.
isPointInPath() Retourne true si le point spécifié est dans le chemin actuel, sinon retourne false.

Transformation

Méthode Description
scale() Agrandir ou réduire le graphique actuel.
rotate() Tourner le graphique actuel.
translate() Re-mapper la position (0,0) sur le canvas.
transform() Remplacer la matrice de transformation actuelle de la décoration.
setTransform() Réinitialiser la transformation actuelle à la matrice unitaire. Ensuite, exécuter transform().

Texte

Attribut Description
font Définir ou retourner les propriétés de police actuelles du contenu du texte.
textAlign Définir ou retourner le mode d'alignement actuel du contenu du texte.
textBaseline Définit ou retourne la ligne de base actuelle utilisée pour dessiner le texte.
Méthode Description
fillText() Dessine du texte 'rempli' sur le canvas.
strokeText() Dessine du texte sur le canvas (sans remplissage).
measureText() Retourne un objet contenant la largeur du texte spécifié.

Dessin d'image

Méthode Description
drawImage() Dessine une image, un canvas ou une vidéo sur le canvas.

Opérations sur les pixels

Attribut Description
width Retourne la largeur de l'objet ImageData.
height Retourne la hauteur de l'objet ImageData.
data Retourne un objet contenant les données d'image de l'objet ImageData spécifié.
Méthode Description
createImageData() Crée un nouvel objet ImageData vide.
getImageData() Retourne un objet ImageData, qui copie les données de pixels d'un rectangle spécifié sur le canvas.
putImageData() Place les données d'image (venant de l'objet ImageData spécifié) sur le canvas.

Synthèse

Attribut Description
globalAlpha Définit ou retourne la valeur actuelle d'alpha ou de transparence du dessin.
globalCompositeOperation Définit ou retourne la manière dont l'image nouvelle est dessinée sur l'image existante.

Autres

Méthode Description
save() Sauvegarde l'état actuel du contexte.
restore() Retourne l'état et les attributs de l'itinéraire sauvegardé précédemment.
createEvent()
getContext()
toDataURL()

Attributs et événements standards

L'objet canvas supporte à la fois les attributs et les événements standardsAttributetÉvénement.

Pages associées

Tutoriel HTML :Canvas HTML5

Tutoriel d'image HTML :Tutoriel Canvas HTML

Manuel de référence HTML :Balise <canvas> HTML