សំណួរ
១. តើប្រព័ន្ធអ័ក្សកូអរដោនេក្នុងប្លង់ និងប្រព័ន្ធអ័ក្សកូអរដោនេទ្វេធាតុនៅក្នុងកំព្យូទ័រខុសគ្នាដូចម្តេចខ្លះ?
២. តើយើងគួរគូររូបដោយផ្ទាល់នៅលើ canvas ឬយករូបពីក្រៅមកប្រើនៅក្នុង canvas?
៣. តើត្រូវធ្វើដូចម្តេចខ្លះ ដើម្បីបង្កើតគំនូរជីវចលនៅក្នុង canvas ?
លំហាត់អនុវត្តន៍
ដោយប្រើប្រាស់កូដខាងក្រោមនេះ ចូរសរសេរកូដបង្កើតកាលបរិច្ឆេទនិងនាឡិកា digital លេខខ្មែរ បន្ថែមទៅលើមុខនាឡិកាប៉ោលខាងក្រោមនេះ៖
<!DOCTYPE html> <html> <head> </head> <body> <canvas id="vuthclock" width="613" height="520"> </canvas> <img id="clock" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgILxJJijz1XkNhEeYqijKev0g4nn05lzL9Apt3qb-pO2KnTNEseQXZTABDYWGaNrhY984g0Mz-edznp1MpQYqKzEsKqj4QyvnN4lWcMqDXu7eKHBYQ5XfgdlvoZvkP2qUVQn1qDjAt00o/s512/clock.png" /> <script> function draw(){ var canvas = document.getElementById('vuthclock'); if (canvas.getContext){ var ctx = canvas.getContext('2d'); var img = document.getElementById("clock"); ctx.drawImage(img, 0, 0); //ក្បួនគណនាកូអរដោនេ function xyAxis(angle,radius, center){ var x = Math.round(radius * Math.sin(Math.PI - angle) + center[0]); var y = Math.round(radius * Math.cos(Math.PI - angle) + center[1]); return [x,y]; } //គូរទ្រនិចម៉ោង var dimension = 512; var date = new Date(); var angle = date.getHours()*Math.PI/6 + Math.PI/6/60*date.getMinutes(); ctx.beginPath(); ctx.lineCap = 'round'; ctx.lineWidth = 12; ctx.strokeStyle = "white"; ctx.moveTo(dimension/2, dimension/2); lineTo = xyAxis(angle,dimension/2-70, [dimension/2, dimension/2]); ctx.lineTo(lineTo[0], lineTo[1]); ctx.stroke(); //គូរទ្រនិចនាទី angle = date.getMinutes()*Math.PI/30; ctx.beginPath(); ctx.lineCap = 'round'; ctx.lineWidth = 8; ctx.strokeStyle = "white"; ctx.moveTo(dimension/2, dimension/2); lineTo = xyAxis(angle,dimension/2-30, [dimension/2, dimension/2]); ctx.lineTo(lineTo[0], lineTo[1]); ctx.stroke(); //គូរទ្រនិចវិនាទី angle = date.getSeconds()*Math.PI/30; ctx.beginPath(); ctx.lineCap = 'round'; ctx.lineWidth = 5; ctx.strokeStyle = "red"; ctx.moveTo(dimension/2, dimension/2); lineTo = xyAxis(angle,dimension/2-10, [dimension/2, dimension/2]); ctx.lineTo(lineTo[0], lineTo[1]); ctx.stroke(); //គូររង្វង់គល់ទ្រនិច var x = dimension/2; var y = dimension/2; radius = 15; startAngle = 0; endAngle = Math.PI*2; anticlockwise = true; ctx.fillStyle = "white"; ctx.strokeStyle = "darkBLue"; ctx.lineWidth = 2; ctx.beginPath(); ctx.arc(x,y,radius,startAngle,endAngle, anticlockwise); ctx.fill(); } } WebFont.load({ custom: { families: ['Moul'], urls:['fonts/fonts.css'] }, active: function(){ setInterval("draw()", 1000); }, inactive: function(){ alert('មិនអាចទាញយកពុម្ពអក្សរបានទេ។'); } }); </script> </body> </html>