API Canvas
- Page précédente Style HTML
- Page suivante Console API
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 peut 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 un é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>
Comment accéder à l'élément Canvas
Vous pouvez accéder à l'élément <canvas> à l'aide de 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 tout graphique.
La méthode getContext() 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);
Utiliser une 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);
Vous pouvez également utiliser la méthode document.createElement() pour créer un nouvel élément <canvas> 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);
Chemin
Les méthodes courantes pour dessiner sur le canevas sont :
- Commencer un chemin - beginPath()
- Déplacer à un point - moveTo()
- Dessiner dans le chemin - lineTo()
- 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();
Couleur, style et ombre
Attribut | Description |
---|---|
fillStyle | Définir ou retourner la couleur, la dégradée ou le motif utilisés pour le remplissage du dessin. |
strokeStyle | Définir ou retourner la couleur, la dégradée 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 au shape. |
shadowOffsetY | Définir ou retourner la distance verticale de l'ombre au shape. |
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 l'intersection des lignes. |
lineWidth | Définir ou retourner la largeur de ligne actuelle. |
miterLimit | Définir ou retourner la longueur maximale de l'angle de saut. |
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() | Effectivement dessiner le chemin défini. |
beginPath() | Commencer un chemin ou réinitialiser le chemin actuel. |
moveTo() | Déplacer le chemin vers le point spécifié sur le canvas sans créer de ligne. |
closePath() | Créer un chemin de retour 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 à partir du canvas d'origine. |
quadraticCurveTo() | Créer une courbe Bézier en deux points. |
bezierCurveTo() | Créer une courbe Bézier en trois points. |
arc() | Créer un arc/courbe (utilisé pour créer un cercle ou une partie de 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() | Remapper la position (0,0) sur le canvas. |
transform() | Remplacer la matrice de transformation actuelle du dessin. |
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 le dessin du texte. |
Méthode | Description |
---|---|
fillText() | Tracez du texte 'rempli' sur le canvas. |
strokeText() | Tracez 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() | Tracez 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() | Remet les données d'image ( provenant 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 propriétés de l'état de chemin précédemment sauvegardé. |
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 image HTML :Tutoriel Canvas HTML
Manuel de référence HTML :Balise <canvas> HTML
- Page précédente Style HTML
- Page suivante Console API