网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

使用canvas绘制一个圆形时钟

使用canvas绘制一个圆形时钟?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

成都创新互联是专业的东昌府网站建设公司,东昌府接单;提供成都网站建设、做网站,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行东昌府网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

代码如下:



 
 
 canvas clock
 
 div{
 text-align: center;
 margin-top: 250px;
 }
 #clock{
 border: 1px solid #ccc;
 }
 
 
 
 
   
   var dom=document.getElementById("clock");    var ctx=dom.getContext("2d"); var width=ctx.canvas.width; var heigth=ctx.canvas.height; var r=width/2; //描绘时分秒小数和小数点 function drawBackground(){  ctx.save();  ctx.translate(r,r); //中心原点位置  ctx.beginPath(); //起始位置  ctx.lineWidth=10;  //圆  ctx.arc(0,0,r-5,0,2*Math.PI,false);  ctx.stroke();  var hourNumbers=[3,4,5,6,7,8,9,10,11,12,1,2];  ctx.font="18px Arial";  ctx.textAlign="center";  ctx.textBaseline="middle";  hourNumbers.forEach(function(number,i){  var rad=2*Math.PI/12*i;  var x=Math.cos(rad)*(r-30);  var y=Math.sin(rad)*(r-30);  ctx.fillText(number,x,y);  });  for (var i=0;i<60;i++) {  var rad=2*Math.PI/60*i;  var x=Math.cos(rad)*(r-18);  var y=Math.sin(rad)*(r-18);  ctx.beginPath();  if(i%5===0){  ctx.fillStyle="#000";  ctx.arc(x,y,2,2*Math.PI,false);  }else{  ctx.fillStyle="#ccc";  ctx.arc(x,y,2,2*Math.PI,false);  }  ctx.fill();  } } //描绘时针 function drawHour(hour,minute){  ctx.save();  ctx.beginPath();  var rad=2*Math.PI / 12 * hour;  var mrad=2*Math.PI / 12 / 60 * minute;  ctx.rotate(rad + mrad);  ctx.lineWidth=6;  ctx.lineCap="round";  ctx.moveTo(0,10);  ctx.lineTo(0,-r/2);  ctx.stroke();  ctx.restore(); } //描绘分针 function drawMinute(minute){  ctx.save();  ctx.beginPath();  var rad=2*Math.PI/60*minute;  ctx.rotate(rad);   ctx.lineWidth=3;  ctx.lineCap="round";  ctx.moveTo(0,10);  ctx.lineTo(0,-r+30);  ctx.stroke();  ctx.restore(); } //描绘秒针 function drawSecond(second){  ctx.save();  ctx.beginPath();  ctx.fillStyle="#C14543";  var rad=2*Math.PI/60*second;  ctx.rotate(rad);  ctx.moveTo(-2,20);  ctx.lineTo(2,20);  ctx.lineTo(1,-r+18);  ctx.lineTo(-1,-r+18)  ctx.fill();  ctx.restore();  } //中间固定园点 function drawDot(){  ctx.beginPath();  ctx.fillStyle="#fff";  ctx.arc(0,0,3,0,2*Math.PI,false);  ctx.fill(); } function draw(){  ctx.clearRect(0,0,width,heigth);  var now=new Date();  var hour=now.getHours();  var minute=now.getMinutes();  var second=now.getSeconds();  drawBackground();  drawHour(hour,minute);  drawMinute(minute);  drawSecond(second);  drawDot();  ctx.restore(); } draw(); setInterval(draw,1000)    

效果如下:

使用canvas绘制一个圆形时钟

看完上述内容,你们掌握使用canvas绘制一个圆形时钟的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注创新互联行业资讯频道,感谢各位的阅读!


当前标题:使用canvas绘制一个圆形时钟
文章网址:http://bjjierui.cn/article/ghoioo.html

其他资讯