--- title: API de Canvas slug: Web/API/API_de_canvas translation_of: Web/API/Canvas_API ---
{{CanvasSidebar}}

Added in HTML5, the HTML {{HTMLElement("canvas")}} element can be used to draw graphics via scripting in JavaScript. For example, it can be used to draw graphs, make photo compositions, create animations, or even do real-time video processing or rendering.

Mozilla applications gained support for <canvas> starting with Gecko 1.8 (i.e. Firefox 1.5). The element was originally introduced by Apple for the OS X Dashboard and Safari. Internet Explorer supports <canvas> from version 9 onwards; for earlier versions of IE, a page can effectively add support for <canvas> by including a script from Google's Explorer Canvas project. Google Chrome and Opera 9 also support <canvas>.

The <canvas> element is also used by WebGL to draw hardware-accelerated 3D graphics on web pages.

Exemplo

This is just a simple code snippet which uses the {{domxref("CanvasRenderingContext2D.fillRect()")}} method.

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);

Edit the code below and see your changes update live in the canvas:

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

Referência

The interfaces related to the WebGLRenderingContext are referenced under WebGL.

{{domxref("CanvasCaptureMediaStream")}} is related.

Guias e tutoriais

Canvas tutorial
A comprehensive tutorial covering both the basic usage of <canvas> and its advanced features.
Code snippets: Canvas
Some extension developer-oriented code snippets involving <canvas>.
Demo: A basic ray-caster
A demo of ray-tracing animation using canvas.
Drawing DOM objects into a canvas
How to draw DOM content, such as HTML elements, into a canvas.
Manipulating video using canvas
Combining {{HTMLElement("video")}} and {{HTMLElement("canvas")}} to manipulate video data in real time.

Recursos

Genérico

Bibliotecas

Especificações

Epecificação Estado Comentário
{{SpecName('HTML WHATWG', 'scripting.html#the-canvas-element', '<canvas>')}} {{Spec2('HTML WHATWG')}}  

Consulte também