自己做个时钟-html5的canvas
来源:互联网 发布:荣威rx5网络连接异常 编辑:程序博客网 时间:2024/04/30 14:21
这个只是用来练习对html5的掌握程度的。
首先,时钟有一个表盘。
表盘包括框、刻度2个
框就是 一个圆,刻度是一个一个小的线段
圆用arc函数可以画出来,刻度只能通过画圆弧来表现。然后用另外一个小的圆把多余的线遮掉
同理,指针也可以这样来完成,通过一个角度为0的圆弧。
然后计算当前时间,通过判断时间来得到角度。
代码如下:
var canvas = null; var content = null; window.onload = function () { canvas = document.getElementById("canv"); content = canvas.getContext("2d"); setInterval("setTime()", 1000); } function setTime() { var times = new Date(); var ohour = times.getHours(); var omin = times.getMinutes(); var osen = times.getSeconds(); content.clearRect(0, 0, 1000, 760); content.save(); content.beginPath(); content.arc(500, 350, 330, 0, 360 * Math.PI / 180, false); content.closePath(); content.stroke(); for (var i = 0; i < 60; i++) { content.beginPath(); content.moveTo(500, 350); content.arc(500, 350, 330, 6 * i * Math.PI / 180, 6 * (i + 1) * Math.PI / 180, false); content.closePath(); content.stroke(); } content.fillStyle = "#eee"; content.beginPath(); content.arc(500, 350, 330 * 19 / 20, 0, 360 * Math.PI / 180, false); content.closePath(); content.fill(); for (var i = 0; i < 12; i++) { content.beginPath(); content.moveTo(500, 350); content.arc(500, 350, 330, 30 * i * Math.PI / 180, 30 * (i + 1) * Math.PI / 180, false); content.closePath(); content.stroke(); } content.fillStyle = "#eee"; content.beginPath(); content.arc(500, 350, 330 * 18 / 20, 0, 360 * Math.PI / 180, false); content.closePath(); content.fill(); var hourvalue = (ohour * 30 - 90 + omin / 12) * Math.PI / 180; var minvalue = (omin * 6 - 90) * Math.PI / 180; var senvalue = (osen * 6 - 90) * Math.PI / 180; content.lineWidth = 4; content.beginPath(); content.moveTo(500, 350); content.arc(500, 350, 330 * 12 / 20, hourvalue, hourvalue, false); content.closePath(); content.stroke(); content.lineWidth = 3; content.beginPath(); content.moveTo(500, 350); content.arc(500, 350, 330 * 15 / 20, minvalue, minvalue, false); content.closePath(); content.stroke(); content.lineWidth = 2; content.beginPath(); content.moveTo(500, 350); content.arc(500, 350, 330 * 17 / 20, senvalue, senvalue, false); content.closePath(); content.stroke(); content.textBaseline = "top"; content.fillStyle = "#333"; content.font = "16px 微软雅黑"; content.fillText(ohour + ":" + omin + ":" + osen, 470, 710); content.restore(); //console.log(ohour + ":" + omin + ":" + osen); }
0 0
- 自己做个时钟-html5的canvas
- 自己做个时钟改进版-html5的canvas
- 分享个HTML5 canvas时钟的代码
- html5的canvas时钟
- 使用HTML5的canvas做一个会动的时钟
- 使用HTML5的canvas做一个会动的时钟
- 使用HTML5的canvas做一个会动的时钟
- html5的canvas使用:时钟
- 用HTML5 Canvas 实现的 时钟
- 用HTML5 Canvas画的时钟
- HTML5 canvas--可动的时钟
- HTML5 用canvas制作时钟的方法
- html5的canvas实现实时时钟
- html5--用canvas做个放大镜
- HTML5 CANVAS 时钟
- HTML5 canvas 可拖拽时钟
- html5-canvas-时钟
- HTML5 canvas时钟
- 用Netty实现的简单HTTP服务器
- python 单元测试
- jQuery UI & 下载 & 拖动组件
- 哥德巴赫猜想
- 你好
- 自己做个时钟-html5的canvas
- weblogic性能调优
- linux 启动过程分析
- MVC模式数据流程图—— OpWeb框架系列[2]
- SQL Server网站防注入终极解决方案
- 1913: 成绩评估
- Gnu make与Windows Nmake的异同点
- MT6572平台加入呼吸灯功能——编写JNI
- 报错:1130-host ... is not allowed to connect to this MySql server 开放mysql远程连接 不使用localhost