<!DOCTYPE html>
<html>
<head>
<meta charsetgoyang dombret="utf-8">
<title>Tutorial HTML 5 Canvas</title>
</head>
<body>
<script type="text/javascript">
var canvas = document.getElementById("myCanvas");
var ctx = canvas.getContext("2d");
</script>
</body>
</html>
Sekarang kita punya canvas kosong yang siap untuk digambar…
Menggambar di Canvas
Jika pada dunia nyata kita menggunakan pensil untuk menggambar, maka
di canvas HTML5 menggunakan objek ctx.
Dalam seni rupa, titik adalah bagian terkecil dari sebuah objek yang
menempati suatu ruang. Sedangkan dalam ilmu matematika geometri,
titik adalah objek 0-dimensi yang tidak memiliki panjang, lebar, dan
tinggi. 3
ctx.fillRect(x,y,1,1);
Variabel x dan y kita ganti dengan nilai koordinatnya, misalkan kita ingin
menggambar titik pada koordinat (10,10).
ctx.fillRect(10,10,1,1);
Mari kita coba dalam kode:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Tutorial HTML 5 Canvas</title>
</head>
<body>
<script type="text/javascript">
var canvas = document.getElementById("myCanvas");
var ctx = canvas.getContext("2d");
</body>
</html>
Hasilnya:
Garis adalah kumpulan dari titik-titik yang saling terhubung. Ada empat
fungsi yang kita butuhkan untuk membuat garis.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Tutorial HTML 5 Canvas</title>
</head>
<body>
<canvas id="myCanvas" width="640" height="480" style="border:1px
solid #000000;">
</canvas>
<script type="text/javascript">
var canvas = document.getElementById("myCanvas");
var ctx = canvas.getContext("2d");
</body>
</html>
Hasilnya:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Tutorial HTML 5 Canvas</title>
</head>
<body>
<script type="text/javascript">
var canvas = document.getElementById("myCanvas");
var ctx = canvas.getContext("2d");
ctx.strokeRect(10,10,100,100);
ctx.fillRect(120,10,100,100);
</script>
</body>
</html>
Hasilnya:
ctx.strokeRect(10,10,100,100);
ctx.clearRect(5,5,20,20);
ctx.fillRect(120,10,100,100);
Maka hasilnya:
Contohnya:
// buat garis
ctx.stroke();
Maka hasilnya:
Perhatikan: di sana ada fungsi ctx.closePath(), tugasnya untuk
menggambar garis dari titik terakhir ke titik awal.
ctx.moveTo(100, 100);
ctx.lineTo(100, 300);
ctx.lineTo(300, 300);
ctx.closePath();
Paham…?
ctx.beginPath();
ctx.arc(95, 50, 40, 0, 2*Math.PI);
ctx.stroke();
Hasilnya:
Penjelasan:
Mulai digambar dari arah jam 3 (0 radian) menuju kembali ke arah jam 3
(2*π radian). 4
Gampang kan?
drawImage(img, x, y);
Kita akan menggunakan gambar dari W3Schools: img_the_scream.jpg.
Pertama silahkan buat elemen <img>:
function renderImage() {
var canvas = document.getElementById("myCanvas");
var ctx = canvas.getContext("2d");
// render ke Canvas
ctx.drawImage(img,10,10);
}
Kode lengkapnya:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Tutorial HTML 5 Canvas</title>
</head>
<body>
<script type="text/javascript">
function renderImage() {
var canvas = document.getElementById("myCanvas");
var ctx = canvas.getContext("2d");
// render ke Canvas
ctx.drawImage(img,10,10);
}
</script>
</body>
</html>
Hasilnya:
Mudah bukan…?
Bila kamu tidak ingin membuat semua itu dari nol, gunakanlah Game
Engine. Karena sudah dibuatkan di sana dan kita tinggal pakai saja.
Akhir Kata…
Terima kasih sudah menyimak artikel ini sampai akhir. Selamat belajar
dan berimajinasi dengan kode.
Tweet
Share