Objek Canvas DOM HTML

Elemen <canvas> menentukan area bitmap di halaman HTML.

API Canvas memungkinkan JavaScript untuk menggambar grafik di atas kanvas.

API Canvas dapat menggambar bentuk, garis, garis lurus, kotak, teks, dan gambar, serta warna, putar, kecerahan dan operasi pixel lainnya.

Menambahkan Canvas ke HTML

Anda dapat menambah elemen canvas di lokasi mana saja di halaman HTML dengan tag <canvas>:

Contoh

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

Coba sendiri

Bagaimana mengakses elemen Canvas

Anda dapat menggunakan metode HTML DOM getElementById() untuk mengakses elemen <canvas>:

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

Untuk menggambar di kanvas, Anda perlu membuat objek konteks 2D:

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

Catatan

Elemen HTML <canvas> sendiri tidak memiliki fungsi pengerjaan gambar.

Anda harus menggunakan JavaScript untuk menggambar grafik.

Metode getContext() mengembalikan objek yang memiliki alat pengerjaan (metode)绘图。

Menggambar di kanvas

Setelah membuat objek konteks 2D, Anda dapat menggambar di kanvas.

Metode fillRect() di bawah ini menggambar lingkaran hitam, yang posisinya di pojok kiri atas 20,20. Lingkaran ini lebar 150 piksel dan tinggi 100 piksel:

Contoh

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

Coba sendiri

Dengan warna

Properti fillStyle menetapkan warna pengisian objek pengerjaan.

Contoh

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

Coba sendiri

Anda juga dapat menggunakan metode document.createElement() untuk membuat elemen <canvas> baru dan menambahkannya ke halaman HTML yang ada:

Contoh

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

Coba sendiri

Jalur

Metode yang biasa digunakan untuk menggambar di kanvas adalah:

  1. Mulai jalur - beginPath()
  2. Pindah ke titik - moveTo()
  3. Menarik di jalur - lineTo()
  4. Menarik jalur - stroke()

Contoh

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

Coba sendiri

Warna, gaya, dan bayangan

Atribut Deskripsi
fillStyle Atur atau kembalikan warna, gradien, atau pola yang digunakan untuk mengisi gambar.
strokeStyle Atur atau kembalikan warna, gradien, atau pola yang digunakan untuk garis tebal.
shadowColor Atur atau kembalikan warna yang digunakan untuk bayangan.
shadowBlur Atur atau kembalikan tingkat blur bayangan.
shadowOffsetX Atur atau kembalikan jarak horizontal bayangan ke bentuk.
shadowOffsetY Atur atau kembalikan jarak vertikal bayangan ke bentuk.
Metode Deskripsi
createLinearGradient() Buat gelombang linear (digunakan untuk konten kanvas).
createPattern() Ulangi elemen yang ditentukan di arah yang ditentukan.
createRadialGradient() Buat gelombang radial/circular (digunakan untuk konten kanvas).
addColorStop() Tentukan warna dan posisi berhenti dalam objek gelombang.

Gaya garis

Atribut Deskripsi
lineCap Atur atau kembalikan gaya ujung garis.
lineJoin Atur atau kembalikan tipe sudut yang dibuat saat garis bertemu.
lineWidth Atur atau kembalikan lebar garis saat ini.
miterLimit Atur atau kembalikan panjang maksimal miter.

Persegi panjang

Metode Deskripsi
rect() Buat persegi panjang.
fillRect() Gambar persegi panjang yang diisi.
strokeRect() Gambar persegi panjang (tanpa isian).
clearRect() Bersihkan pixel yang ditentukan di dalam persegi panjang.

Jalur

Metode Deskripsi
fill() Isi grafik saat ini (jalur).
stroke() Tatap jalur yang Anda definasikan sebenarnya.
beginPath() Mulai jalur, atau atur ulang jalur saat ini.
moveTo() Pindahkan jalur ke titik yang ditentukan di atas kanvas tanpa membuat garis.
closePath() Buat jalur dari titik saat ini ke titik awal.
lineTo() Tambahkan titik baru dan buat garis dari titik ini ke titik terakhir yang ditentukan di atas kanvas.
clip() Potong area berukuran dan bentuk apapun dari kanvas asli.
quadraticCurveTo() Buat curva besel dua.
bezierCurveTo() Buat curva besel tiga.
arc() Buat bagian lingkaran/curva (digunakan untuk membuat lingkaran atau bagian lingkaran).
arcTo() Buat bagian lingkaran/curva di antara dua garis tangens.
isPointInPath() Kembalikan true jika titik yang ditentukan berada di jalur saat ini, sebaliknya kembalikan false.

Transformasi

Metode Deskripsi
scale() Besarkan atau kecilkan grafik saat ini.
rotate() Putar grafik saat ini.
translate() Ulangi peta posisi (0,0) di atas kanvas.
transform() Ganti matriks transformasi konversi saat ini.
setTransform() Kembalikan transformasi saat ini ke matriks satuan. Lalu jalankan transform().

Teks

Atribut Deskripsi
font Atur atau kembalikan atribut huruf teks saat ini.
textAlign Atur atau kembalikan gaya penempatan teks saat ini.
textBaseline Atur atau kembalikan jalur teks yang digunakan saat menggambar teks.
Metode Deskripsi
fillText() Menaruh teks 'diisi' di atas kanvas.
strokeText() Menaruh teks di atas kanvas (tanpa pengisian).
measureText() Kembalikan objek yang mengandung lebar teks yang ditentukan.

Penggambaran gambar

Metode Deskripsi
drawImage() Menaruh gambar, kanvas, atau video di atas kanvas.

Operasi pixel

Atribut Deskripsi
width Kembalikan lebar objek ImageData.
height Kembalikan tinggi objek ImageData.
data Kembalikan objek yang mengandung data gambar objek ImageData yang ditentukan.
Metode Deskripsi
createImageData() Buat objek ImageData baru kosong.
getImageData() Kembalikan objek ImageData yang menyalin data pixel persegi panjang yang ditentukan di atas kanvas.
putImageData() Kembalikan data gambar (dari objek ImageData yang ditentukan) ke atas kanvas.

Komposisi

Atribut Deskripsi
globalAlpha Atur atau kembalikan nilai alpha atau transparensi penggambaran saat ini.
globalCompositeOperation Atur atau kembalikan cara menaruh gambar baru ke atas gambar yang ada.

Lainnya

Metode Deskripsi
save() Simpan status konteks saat ini.
restore() Kembalikan status dan atribut jalur yang disimpan sebelumnya.
createEvent()
getContext()
toDataURL()

Atribut standar dan peristiwa

Objek canvas mendukung standarAtributdanPeristiwa.

Halaman yang berhubungan

Tutorial HTML:Canvas HTML5

Tutorial gambar HTML:Tutorial HTML Canvas

Panduan referensi HTML:Tanda <canvas> HTML