លំហាត់​អនុវត្ត​ន៍​អំពី​គំនូរ​ទ្វេមាត្រ

សំណួរ

១. តើ​ប្រព័ន្ធអ័ក្ស​កូអរដោនេ​ក្នុង​ប្លង់ និង​ប្រព័ន្ធ​អ័ក្ស​កូអរដោនេ​ទ្វេធាតុ​នៅ​ក្នុង​កំព្យូទ័រ​ខុស​គ្នា​ដូចម្តេច​ខ្លះ?
២. តើ​យើង​គួរ​គូរ​រូប​ដោយ​ផ្ទាល់​នៅ​លើ​ 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>