--- title: Canvas API slug: Web/API/Canvas_API tags: - API - Canvas - Gambar - JavaScript - Referensi translation_of: Web/API/Canvas_API ---
{{CanvasSidebar}}

Ditambahkan di HTML5, elemen HTML {{HTMLElement("canvas")}} dapat digunakan untuk menggambar grafik melalui skrip di JavaScript. Sebagai contoh, dapat digunakan untuk menggambar graf, membuat komposisi foto, mencipta animasi, atau bahkan melakukan pemrosesan atau rendering video secara waktu-nyata .

Aplikasi Mozilla mendapat dukungan untuk <canvas> sejak Gecko 1.8 (i.e. Firefox 1.5). Elemen tersebut semula dikenalkan oleh Apple untuk Dashboard OS X dan Safari. Internet Explorer mendukung <canvas> sejak versi 9 dan seterusnya; untuk versi awal IE, sebuah halaman dapat secara efektif mendukung <canvas> dengan memasukkan skrip dari proyek Explorer Canvas Google. Google Chrome dan Opera 9 juga mendukung <canvas>.

Elemen <canvas> juga digunakan oleh WebGL untuk menggambar grafik hardware-accelerated 3D di halaman web.

Contoh

Ini hanya cuplikan kode sederhana yang menggunakan metode  {{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);

Edit kode di bawah dan lihat perbaruan perubahannya di kanvas secara waktu-nyata:

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

Reference

The interfaces related to the WebGLRenderingContext are referenced under WebGL.

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

Petunjuk dan tutorial

Tutorial canvas
Tutorial komprehensif mengcakup penggunaan sederhana  <canvas> dan fitur lanjutannya.
Cuplikan kode: Canvas
Beberapa cuplikan kode pengembang berorientasi ekstensi yang melibatkan <canvas>.
Demo: ray-caster sederhana
Demo animasi ray-tracing menggunakan canvas.
Menggambar DOM objects ke canvas
Bagaimana menggambar konten DOM, seperti elemen HTML, pada canvas.
Memanipulasi video dengan canvas
Menggabungkan {{HTMLElement("video")}} dan {{HTMLElement("canvas")}} untuk memanipulasi data video secara real time.

Sumber

Generik

Librari

Spesifikasi

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

Lihat juga