canvas闹钟
来源:互联网 发布:linux添加用户的命令 编辑:程序博客网 时间:2024/04/30 04:50
<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title>时钟</title> <style> canvas{ background-color:#57baac; } </style></head><body> <canvas width="667px" height="881px" id="mycanvas"></canvas> <script type="text/javascript"> var a=1; window.onload=function(){ setInterval(drawClock,250); };function drawClock(){ var mycanvas=document.getElementById("mycanvas"); var context=mycanvas.getContext("2d");//清除画布 context.clearRect(0,0,667,881);//外层空心圆 context.beginPath(); context.arc(300,300,150,0,360*Math.PI/180); context.closePath(); context.strokeStyle="#f26a4c"; context.lineWidth=30; context.stroke();//内层实心圆 context.arc(300,300,120,0,360*Math.PI/180); context.fillStyle="white"; context.fill();//刻度 context.save(); context.translate(300,300); for(var i=0;i<60;i++){ if(i%5==0){ context.beginPath(); context.moveTo(130,0); context.lineTo(150,0); context.rotate(6*Math.PI/180); context.closePath(); context.lineWidth=7; context.strokeStyle="#6a686a"; context.stroke(); }else{ context.beginPath(); context.moveTo(140,0); context.lineTo(150,0); context.rotate(6*Math.PI/180); context.closePath(); context.lineWidth=3; context.strokeStyle="#acabac"; context.stroke(); } } context.restore();//圆心结 context.beginPath(); context.arc(300,300,15,0,360*Math.PI/180); context.closePath(); context.fillStyle="#c04a0f"; context.fill();//秒针 var date=new Date(); var second=date.getSeconds(); //获取秒数 context.save(); context.translate(300,300); context.beginPath(); context.rotate(6*second*Math.PI/180); context.moveTo(0,-120); context.lineTo(0,60); context.closePath(); context.strokeStyle="#ad4614"; context.lineWidth=2; context.stroke(); context.restore();//分针 var minute=date.getMinutes(); context.save(); context.translate(300,300); context.beginPath(); context.rotate((6*minute+second/10)*Math.PI/180); context.moveTo(0,-15); context.lineTo(0,-120); context.closePath(); context.strokeStyle="#f5b564"; context.lineWidth=10; context.lineCap=5; context.stroke(); context.restore();//小时 var hour=date.getHours(); context.save(); context.translate(300,300); context.beginPath(); context.rotate((second/3600+minute/60+hour)*30*Math.PI/180); context.moveTo(0,-15); context.lineTo(0,-80); context.closePath(); context.strokeStyle="#f5b564"; context.lineWidth=10; context.lineCap=5; context.stroke(); context.restore();//闹钟的两个脚// 右脚 context.save(); context.translate(300,300); context.beginPath(); context.rotate(63*Math.PI/180); context.moveTo(165,0); context.lineTo(200,0); context.closePath(); context.strokeStyle="#877c84"; context.lineWidth=20; context.lineCap=5; context.stroke(); context.restore();//左脚 context.save(); context.translate(300,300); context.beginPath(); context.rotate(117*Math.PI/180); context.moveTo(165,0); context.lineTo(200,0); context.closePath(); context.strokeStyle="#877c84"; context.lineWidth=20; context.lineCap=5; context.stroke(); context.restore();//上半部分// 圆环 context.save(); context.beginPath(); context.arc(300,130,100,20*Math.PI/180,160*Math.PI/180,true);// context.closePath(); context.strokeStyle="#867e86"; context.lineWidth=12; context.stroke(); context.restore();//右边耳朵 context.save(); context.translate(300,300); context.beginPath(); context.rotate((-60)*Math.PI/180); context.moveTo(180,0); context.lineTo(225,0); context.strokeStyle="#eb6d4e"; context.lineWidth=118; context.stroke(); context.restore();//左边耳朵 context.save(); context.translate(300,300); context.beginPath(); context.rotate((-120)*Math.PI/180); context.moveTo(180,0); context.lineTo(225,0); context.strokeStyle="#eb6d4e"; context.lineWidth=118; context.stroke(); context.restore();//摆钟 if(a==1){ a=-1; }else{ a=1; } context.save(); console.log(a); context.translate(300,300); context.beginPath(); context.rotate(a*8*Math.PI/180); context.moveTo(0,-165); context.lineTo(0,-185); context.closePath(); context.strokeStyle="black"; context.lineWidth=15; context.stroke(); context.restore(); context.save(); context.translate(300,300); context.beginPath(); context.rotate(a*8*Math.PI/180); context.arc(0,-195,15,0,360*Math.PI/180); context.closePath(); context.fillStyle="black"; context.fill(); context.restore(); } </script></body></html>
0 0
- canvas闹钟
- HTML5 05 Canvas实例 闹钟
- android canvas 画闹钟 圆弧
- html5动画基础(canvas,闹钟)
- 闹钟
- 闹钟
- 闹钟
- 闹钟
- 闹钟
- 闹钟
- 闹钟
- 闹钟
- Canvas
- Canvas
- canvas
- Canvas
- Canvas
- canvas
- 计算机视觉国内外研究学者、机构主页
- 预处理 宏及编译
- Ubuntu 安装 boost 库
- 总结struts2 Action的四种实现方式
- 2012年南海初中竞赛 数列
- canvas闹钟
- 回顾数据结构(1):单链表
- linux-Kconfig
- Mathematica 之Slider,Dynamic
- 博客系统Day01
- R匹配函数match.fun
- POJ 2965 The Pilots Brothers' refrigerator
- HDU 2807 The Shortest Path(最短路构造+Floyed算法)
- Eclipse Project Explorer 背景色