Kode untuk membuat kanvasnya seperti ini:
<canvas id="kanvas" width="250" height="250" style="background-color:#eee"> </canvas>
Sedangkan kode javascriptnya seperti ini:
<script> var kanvas = document.getElementById("kanvas"); var konteks = kanvas.getContext("2d"); var radius = kanvas.height / 2; konteks.translate(radius, radius); radius = radius * 0.75 buatJam(); function buatJam() { buatTampilan(konteks, radius); buatNomor(konteks, radius); } function buatTampilan(konteks, radius) { var z; konteks.beginPath(); konteks.arc(0, 0, radius, 0, 2*Math.PI); konteks.fillStyle = 'grey'; konteks.fill(); z = konteks.createRadialGradient(0,0,radius*0.90, 0,0,radius*1.05); z.addColorStop(0, '#eee'); z.addColorStop(0.5, 'grey'); z.addColorStop(1, '#eee'); konteks.strokeStyle = z; konteks.lineWidth = radius*0.13; konteks.stroke(); konteks.beginPath(); konteks.arc(0, 0, radius*0.05, 0, 2*Math.PI); konteks.fillStyle = '#eee'; konteks.fill(); } function buatNomor(konteks, radius) { var x; var y; konteks.font = radius*0.11 + "px arial"; konteks.textBaseline="middle"; konteks.textAlign="center"; for(y = 1; y < 13; y++){ x = y * Math.PI / 6; konteks.rotate(x); konteks.translate(0, -radius*0.75); konteks.rotate(-x); konteks.fillText(y.toString(), 0, 0); konteks.rotate(x); konteks.translate(0, radius*0.75); konteks.rotate(-x); } } </script>
Hasil penggabungan kedua kode tersebut dengan menggunakan HTML 5 seperti ini:
<!DOCTYPE html> <html> <head> <title>Membuat nomor jam menggunakan javascript created by w3codez</title> </head> <body> <canvas id="kanvas" width="250" height="250" style="background-color:#eee"> </canvas> <script> var kanvas = document.getElementById("kanvas"); var konteks = kanvas.getContext("2d"); var radius = kanvas.height / 2; konteks.translate(radius, radius); radius = radius * 0.75 buatJam(); function buatJam() { buatTampilan(konteks, radius); buatNomor(konteks, radius); } function buatTampilan(konteks, radius) { var z; konteks.beginPath(); konteks.arc(0, 0, radius, 0, 2*Math.PI); konteks.fillStyle = 'grey'; konteks.fill(); z = konteks.createRadialGradient(0,0,radius*0.90, 0,0,radius*1.05); z.addColorStop(0, '#eee'); z.addColorStop(0.5, 'grey'); z.addColorStop(1, '#eee'); konteks.strokeStyle = z; konteks.lineWidth = radius*0.13; konteks.stroke(); konteks.beginPath(); konteks.arc(0, 0, radius*0.05, 0, 2*Math.PI); konteks.fillStyle = '#eee'; konteks.fill(); } function buatNomor(konteks, radius) { var x; var y; konteks.font = radius*0.11 + "px arial"; konteks.textBaseline="middle"; konteks.textAlign="center"; for(y = 1; y < 13; y++){ x = y * Math.PI / 6; konteks.rotate(x); konteks.translate(0, -radius*0.75); konteks.rotate(-x); konteks.fillText(y.toString(), 0, 0); konteks.rotate(x); konteks.translate(0, radius*0.75); konteks.rotate(-x); } } </script> </body> </html>
Nanti hasilnya akan seperti ini:
Sekian, semoga bermanfaat. Mohon maaf bila ada kesalahan.
No comments:
Post a Comment