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>
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);
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);
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);
Jalur
Metode yang biasa digunakan untuk menggambar di kanvas adalah:
- Mulai jalur - beginPath()
- Pindah ke titik - moveTo()
- Menarik di jalur - lineTo()
- 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();
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() |
Halaman yang berhubungan
Tutorial HTML:Canvas HTML5
Tutorial gambar HTML:Tutorial HTML Canvas
Panduan referensi HTML:Tanda <canvas> HTML