Last Updated on June 9, 2023 by
HTML5 Canvas adalah teknologi yang telah membuka banyak kemungkinan bagi pengembang web untuk menciptakan konten interaktif dan grafis yang menarik. Dengan dukungan yang kuat dari browser modern, HTML Canvas menjadi salah satu pilihan utama bagi para profesional IT yang ingin mengembangkan aplikasi web, animasi, dan game dengan mudah dan efisien.
Dalam seri belajar HTML/CSS kali ini akan dibahas berbagai aspek HTML5 Canvas, mulai dari sintaks dasar, cara menggambar berbagai bentuk, hingga penerapan animasi. Yuk langsung saja simak ulasan dan tutorialnya dibawah ini!
Table of Contents
Apa Itu HTML5 Canvas?
HTML5 Canvas merupakan elemen baru pada bahasa pemrograman HTML yang digunakan untuk menggambar grafis, text maupun image melalui JavaScript. Elemen “canvas” hanya berperan sebagai wadah untuk grafis yang akan digambar. Pengembang harus menggunakan JavaScript untuk menggambar grafis pada elemen canvas tersebut.
Canvas memiliki beberapa metode untuk menggambar jalur, kotak, lingkaran, teks, dan menambahkan gambar. Canvas akan menjadi area persegi panjang pada halaman HTML. Secara default, canvas tidak memiliki batas dan konten. Berikut adalah sintaks untuk membuat canvas pada HTML5
<canvas> Konten... </canvas>
Disarankan untuk memiliki atribut id (untuk dirujuk dalam skrip) dan atribut lebar serta tinggi untuk menentukan ukuran canvas. Untuk menambahkan batas, pengembang dapat menggunakan atribut gaya.
Properti yang Didukung HTML5 Canvas
Properti seperti Warna, Gaya, Bayangan, Gaya Garis, Persegi Panjang, Jalur, Transformasi, Teks, Manipulasi Piksel serta Penggabungan & Penggambaran Gambar adalah atribut global yang didukung oleh semua tag canvas. Silakan merujuk ke artikel Referensi Lengkap HTML Canvas untuk detailnya.
Contoh Penggunaan HTML5 Canvas
HTML Canvas dapat digunakan untuk menggambarkan berbagai hal seperti teks, bentuk dan lainnya. Berikut contoh penggunaan HTML Canvas yang dapat dicoba.
Contoh 1: Contoh di bawah menggambarkan penggunaan canvas dengan gradien linier & teks gaya garis dalam HTML.
<html> <body> <canvas id="cid" width="300px" height="100px" style="border:1px solid #d3d3d3;"> </canvas> <script> var c = document.getElementById("cid"); var codekey = c.getContext("2d"); var gradient = codekey.createLinearGradient(1, 4, g.width, 2); gradient.addColorStop("0", "green"); gradient.addColorStop("0.4", "yellow"); gradient.addColorStop("1.0", "aqua"); geeks.font = "40px sans-serif"; geeks.fillStyle = "red"; geeks.strokeStyle = gradient; geeks.strokeText("Codekey", 10, 60); </script> </body> </html>
Contoh 2: Kode program di bawah merupakan kode untuk mendemonstrasikan canvas kosong.
<!DOCTYPE html> <html> <body> <canvas id="myCanvas" width="400" height="200" style="border:2px solid #000000;"> </canvas> </body> </html>
Selain contoh diatas, HTML5 Canvas juga dapat dibuat menjadi berbagai bentuk. Berikut beberapa bentuk yang dapat digambar menggunakan Canvas.
Contoh 1: Contoh di bawah menunjukkan HTML Canvas untuk menggambar sebuah lingkaran.
<!DOCTYPE html> <html> <body> <canvas id="CID" width="400" height="200" style="border:2px solid #d3d3d3;"> </canvas> <script> var c = document.getElementById("CID"); var codekey = c.getContext("2d "); codekey.beginPath(); codekey.arc(200, 100, 50, 0, 2 * Math.PI); codekey.stroke(); </script> </body> </html>
Contoh 2: Dalam contoh di bawah, HTML Canvas dapat digunakan untuk menulis teks.
<!DOCTYPE html> <html> <body> <canvas id="CID" width="600" height="200" style="border:1px solid #d3d3d3;"> </canvas> <script> var c = document.getElementById("CID"); var codekey = c.getContext("2d"); codekey.font = "30px Arial"; codekey.fillText("GeeksForGeeks", 170, 50); </script> </body> </html>
Contoh 3: Contoh di bawah ini menggambarkan penggunaan properti linear dan gradient dalam HTML Canvas.
<!DOCTYPE html> <html> <body> <canvas id="CID" width="400" height="200" style="border:2px solid #d3d3d3;"> </canvas> <script> var C = document.getElementById("GFG"); var codekey = C.getContext("2d"); var grd = codekey.createLinearGradient(0, 0, 200, 0); grd.addColorStop(0, "yellow"); grd.addColorStop(1, "grey"); codekey.fillStyle = grd; codekey.fillRect(50, 50, 300, 80); </script> </body> </html>
Contoh 4: Contoh di bawah menjelaskan cara menggambar gambar menggunakan tag <canvas>.
<!DOCTYPE html> <html> <body> <p>Gambar yang digunakan:</p> <img id="image" src="https://codekey.id/wp-content/uploads/2021/03/codekey001.png" alt="Codekey logo" width="250" height="200"> <p>Canvas yang diisi:</p> <canvas id="cid" width="300" height="300" style="border:1px solid #d3d3d3; "> </canvas> <p> <button onclick="cid()">Klik untuk Mencoba</button> </p> <script> function cid() { var c = document.getElementById("gfg"); var codekey = c.getContext("2d"); var img = document.getElementById("image"); codekey.drawImage(img, 0, 0); } </script> </body> </html>
Contoh 5: Contoh di bawah mendemonstrasikan penggunaan properti Shadow blur dalam HTML Canvas.
<!DOCTYPE html> <html> <body> <canvas id="CID" width="500" height="250" ;> </canvas> <script> var c = document.getElementById("GFG"); var codekey = c.getContext("2d"); codekey.shadowBlur = 20; codekey.shadowColor = "yellow"; codekey.fillStyle = "red"; codekey.fillRect(30, 20, 100, 80); </script> </body> </html>
Contoh 6: Contoh di bawah ini menjelaskan penggunaan metode rotate() dalam HTML Canvas.
<!DOCTYPE html> <html> <body> <canvas id="CID" width="300" height="150;"> </canvas> <script> var c = document.getElementById("GFG"); var codekey = c.getContext("2d"); codekey.rotate(20 * Math.PI / 180); codekey.fillRect(100, 20, 100, 50); </script> </body> <//html>
Contoh 7: Dalam contoh di bawah, metode translate() digunakan untuk memetakan ulang posisi (0,0) pada kanvas.
<!DOCTYPE html> <html> <body> <canvas id="CID" width="300" height="150;"> </canvas> <script> var c = document.getElementById("GFG"); var codekey = g.getContext("2d"); codekey.fillRect(10, 10, 100, 50); codekey.translate(80, 90); codekey.fillRect(10, 10, 100, 50); </script> </body> </html>
Contoh 8: Contoh di bawah menggambarkan penggunaan metode transform() dalam HTML Canvas.
<!DOCTYPE html> <html> <body> <canvas id="CID" width="300" height="150;"> </canvas> <script> var c = document.getElementById("GFG"); var codekey = c.getContext("2d"); codekey.fillStyle = "yellow"; codekey.fillRect(0, 0, 250, 100); codekey.transform(1, 0.5, -0.5, 1, 30, 10); codekey.fillStyle = "grey"; codekey.fillRect(0, 0, 250, 100); codekey.transform(1, 0.5, -0.5, 1, 30, 10); codekey.fillStyle = "black"; codekey.fillRect(0, 0, 250, 100); </script> </body> </html>
Metode Untuk Membuat Animasi dalam HTML5 Canvas
JavaScript dapat membantu mensimulasikan animasi yang baik di atas kanvas HTML5. Berikut empat metode JavaScript penting yang dapat digunakan untuk menganimasikan gambar pada kanvas.
1. setInterval(callback, time)
Metode ini digunakan untuk menjalankan sebuah callback atau fungsi secara berulang dengan interval waktu tertentu. Parameter callback adalah fungsi yang ingin dijalankan secara berulang, dan time adalah interval waktu antara setiap pemanggilan fungsi dalam milidetik (ms).
2. setTimeout(callback, time)
Metode ini berguna untuk menjalankan sebuah callback atau fungsi setelah jeda waktu tertentu. Parameter callback adalah fungsi yang ingin dijalankan, dan time adalah jeda waktu sebelum fungsi dipanggil dalam milidetik (ms).
3. requestAnimationFrame(callback)
Metode ini memberitahu browser bahwa Anda ingin melakukan animasi dan meminta browser untuk mengoptimalkan pengulangan animasi. Callback akan dipanggil sebelum pembuatan frame berikutnya.
4. clearRect(x, y, width, height)
Metode satu ini dipakai untuk menghapus area persegi panjang yang telah ditentukan pada sebuah kanvas yang berguna untuk membersihkan frame sebelumnya saat menggambar animasi baru.
Browser yang mendukung HTML5 Canvas
Untuk menjalankan HTML Canvas, tidak semua browser bisa melakukannya dengan baik. Berikut beberapa daftar browser yang mendukung HTML Canvas dengan baik.
- Google Chrome 93.0
- Microsoft Edge 93.0
- IE 11.0
- Firefox 92.0
- Opera 78.0
- Safari 14.1
Kesimpulan
Itu dia ulasan mengenai HTML5 Canvas yang menawarkan berbagai kemampuan yang memungkinkan pengembang web untuk menciptakan konten yang menarik dan interaktif. Dengan menggabungkan elemen canvas dan JavaScript, pengembang dapat menghasilkan grafik, animasi, dan game yang dapat diakses di berbagai perangkat dan browser. Semoga seri belajar kali ini bermanfaat dan menambah wawasan Anda mengenai HTML/CSS!
Temukan lebih banyak artikel seri belajar HTML/CSS dan juga bahasa pemrograman lainnya hanya di CODEKEY. Klik https://codekey.id/ sekarang juga untuk langsung belajar gratis dan tak ketinggalan tutorial pemrograman menarik lainnya. Sampai bertemu lagi!
Jasa Pembuatan Aplikasi, Website dan Internet Marketing | PT APPKEY
PT APPKEY adalah perusahaan IT yang khusus membuat aplikasi Android, iOS dan mengembangkan sistem website. Kami juga memiliki pengetahuan dan wawasan dalam menjalankan pemasaran online sehingga diharapkan dapat membantu menyelesaikan permasalahan Anda.