--- title: API canvas slug: Web/API/Canvas_API tags: - API - Canvas - Reference translation_of: Web/API/Canvas_API ---
{{IncludeSubnav("/fr/docs/Jeux")}} {{CanvasSidebar}}

Ajouté en HTML5, l'élément {{HTMLElement("canvas")}} est un nouvel élément qui peut être utilisé pour dessiner des graphismes via des scripts JavaScript. Par exemple, Il peut être utilisé pour dessiner des graphes, faire des compositions de photos, des animations, ou même faire du traitement ou de l'affichage de vidéos en temps réel.

Les applications Mozilla ont commencé à supporter <canvas> à partir de Gecko 1.8 (c'est-à-dire Firefox 1.5). L'élément a été introduit à l'origine par Apple pour le Dashboard d'OS X et pour Safari. Internet Explorer supporte <canvas> depuis la version 9 et ultérieures, pour les versions précédentes d'IE, une page peut effectuer ce support de <canvas> en incluant un script depuis le projet Explorer Canvas  de Google.

L'élément <canvas> est aussi utilisé par WebGL pour afficher des graphismes 3D avec accélération matérielle sur des pages web.

Exemple

Voilà un simple extrait de code qui utilise la méthode {{domxref("CanvasRenderingContext2D.fillRect()")}}.

HTML

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

JavaScript

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

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

Éditez le code ci-dessous pour voir les changements avoir lieu directement dans le canvas:

Code jouable

{{ EmbedLiveSample('code_jouable', 700, 360) }}

Références

Les interfaces liées au WebGLRenderingContext sont référencées sous WebGL.

{{domxref("CanvasCaptureMediaStream")}} est lié.

Guides et tutoriels

Tutoriel canvas
Un tutoriel complet qui couvre à la fois l'usage élémentaire de <canvas> mais aussi ses fonctionnalités avancées.
Extraits de code : Canvas
Quelques extraits de code orientés vers les développeurs d'extension qui utilisent <canvas>.
Demo: Un raycaster basique avec canvas
Une demonstration d'animation utilisant le ray-tracing dans un élément canvas.
Dessiner des objets DOM dans un élément canvas
Comment dessiner un contenu DOM, tel que des éléments HTML, dans un canvas.
Manipulation vidéo avec la balise canvas
Combiner {{HTMLElement("video")}} et {{HTMLElement("canvas")}} pour manipuler des données video en temps réel.

Ressources

Général

Bibliothèques

Spécifications

Specification Status Comment
{{SpecName('HTML WHATWG', 'scripting.html#the-canvas-element', '<canvas>')}} {{Spec2('HTML WHATWG')}}  

Voir aussi