API Canvas
- Halaman Sebelumnya Style HTML
- Halaman Berikutnya Konsol API
Elemen <canvas> mendefinisikan area bitmap di halaman HTML.
API Canvas memungkinkan JavaScript untuk menggambar grafik di atas kanvas.
API Canvas dapat menggambar bentuk, garis, kurva, 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 yang menggunakan tag <canvas>:
Contoh
<canvas id="myCanvas" width="300" height="150"></canvas>
Bagaimana mengakses elemen Canvas
Anda dapat mengakses elemen <canvas> menggunakan metode HTML DOM getElementById():
const myCanvas = document.getElementById("myCanvas");
Untuk menggambar di atas kanvas, Anda perlu membuat objek konteks 2D:
const ctx = myCanvas.getContext("2d");
Catatan
Elemen HTML <canvas> sendiri tidak memiliki fungsi gambar.
Anda harus menggunakan JavaScript untuk menggambar grafik apapun.
Metode getContext() mengembalikan objek yang memiliki alat gambar (metode).
Menggambar di atas kanvas
Setelah membuat objek konteks 2D, Anda dapat menggambar di atas kanvas.
Metode fillRect() di bawah ini menggambar lingkaran hitam, titik kiri atasnya berada di posisi 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 mengatur warna pengisi objek gambar.
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 atas kanvas adalah:
- Mulai jalur - beginPath()
- Pindah ke titik - moveTo()
- Menggambar di jalur - lineTo()
- Menggambar 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, gradient, atau pola yang digunakan untuk pengisi gambar. |
strokeStyle | Atur atau kembalikan warna, gradient, atau pola yang digunakan untuk pengecoran. |
shadowColor | Atur atau kembalikan warna yang digunakan untuk bayangan. |
shadowBlur | Atur atau kembalikan tingkat kabur bayangan. |
shadowOffsetX | Setel atau kembalikan jarak horizontal dari bayangan ke bentuk. |
shadowOffsetY | Setel atau kembalikan jarak vertikal dari 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 di dalam objek gelombang. |
Gaya garis
Atribut | Deskripsi |
---|---|
lineCap | Setel atau kembalikan gaya ujung garis. |
lineJoin | Setel atau kembalikan tipe sudut yang dibuat saat garis bertemu. |
lineWidth | Setel atau kembalikan lebar garis saat ini. |
miterLimit | Setel atau kembalikan panjang maksimal sisi yang mendekati. |
Persegi panjang
Metode | Deskripsi |
---|---|
rect() | Buat persegi panjang. |
fillRect() | Gambar persegi panjang yang diisi. |
strokeRect() | Gambar persegi panjang (tanpa pengisi). |
clearRect() | Hapus pixel yang ditentukan di dalam persegi panjang. |
Jalur
Metode | Deskripsi |
---|---|
fill() | Isi grafik saat ini (jalur). |
stroke() | Menggambar jalur yang anda tentukan. |
beginPath() | Mulai jalur, atau atur jalur saat ini kembali ke awal. |
moveTo() | Pindahkan jalur ke titik yang ditentukan di atas kanvas tanpa membuat jalur. |
closePath() | Buat jalur kembali ke titik awal. |
lineTo() | Tambahkan titik baru dan buat jalur dari titik ini ke titik yang terakhir yang ditentukan di atas kanvas. |
clip() | Potong area berukuran apapun dan bentuk yang berbeda dari kanvas asli. |
quadraticCurveTo() | Buat curva kubik dua. |
bezierCurveTo() | Buat curva kubik tiga. |
arc() | Buat serupa lingkaran/curva (digunakan untuk membuat lingkaran atau bagian lingkaran). |
arcTo() | Buat serupa lingkaran/curva di antara dua tangga. |
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 pemetaan posisi (0,0) di atas kanvas. |
transform() | Ganti matriks transformasi yang digunakan untuk pengerubahan gambar saat ini. |
setTransform() | Kembalikan transformasi saat ini ke matriks satuan. kemudian jalankan transform(). |
Teks
Atribut | Deskripsi |
---|---|
font | Setel atau kembalikan atribut huruf teks konten saat ini. |
textAlign | Setel atau kembalikan gaya penataan teks konten saat ini. |
textBaseline | Atur atau kembalikan bawah garis teks yang digunakan saat menggambar teks. |
Metode | Deskripsi |
---|---|
fillText() | Gambar teks 'diisi' di atas kanvas. |
strokeText() | Gambar teks di atas kanvas (tanpa pengepakan). |
measureText() | Kembalikan objek yang mengandung lebar teks yang ditentukan. |
Penggambaran gambar
Metode | Deskripsi |
---|---|
drawImage() | Gambarkan 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 yang kosong baru. |
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. |
Penggabungan
Atribut | Deskripsi |
---|---|
globalAlpha | Atur atau kembalikan nilai alpha atau kecerahan saat ini untuk penggambaran. |
globalCompositeOperation | Atur atau kembalikan cara menggambar 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 Terkait
Panduan HTML:Canvas HTML5
Panduan Gambar HTML:Panduan Canvas HTML
Panduan Referensi HTML:Tag <canvas> HTML
- Halaman Sebelumnya Style HTML
- Halaman Berikutnya Konsol API