900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > html5 canvas实现圆形时钟实例代码

html5 canvas实现圆形时钟实例代码

时间:2019-11-16 12:10:52

相关推荐

html5 canvas实现圆形时钟实例代码

web前端|H5教程

canvas,圆形时钟

web前端-H5教程

代码如下:

优酷网站源码,vscode支持py,神舟zx7装ubuntu,进阶tomcat原理,sqlite视频怎么播放,如何开发网页插件下载视频,java开发前端框架推荐,老外恶搞爬虫子,php 数组去掉,seo兼职都有哪些seo公司,php购物网站项目,网页特效 秒返回页面,英文站模板,jsp人事管理系统源代码,每天迎祝福微信小程序lzw

HTML CLOCK你的浏览器不支持canvas标签,时针显示不出来哦!//画布背景颜色var clockBackGroundColor = "#ABCDEF";//时针颜色var hourPointColor = "#000";//时针粗细var hourPointWidth = 7;//时针长度var hourPointLength = 100;//分针颜色var minPointColor = "#000";//分针粗细var minPointWidth = 5;//分针长度var minPointLength = 150;//秒针颜色var secPointColor = "#F00";//秒针粗细var secPointWidth = 3;//秒针长度var secPointLength = 170;//表盘颜色var clockPanelColor = "#ABCDEF";//表盘刻度颜色var scaleColor = "#000";//表盘大刻度宽度 3 6 9 12var scaleBigWidth = 9;//表盘大刻度的长度var scaleBigLength = 15;//表盘小刻度的宽度var scaleSmallWidth = 5;//表盘小刻度的长度var scaleSmallLength = 10;//圆心颜色var centerColor = ed;//时钟画布var clock = document.getElementById(clock);clock.style.background = clockBackGroundColor;//时针画布的作图环境(画板)var panel = clock.getContext(2d);//画线/***画线段***/function drowLine(p,width,color,startX,startY,endX,endY,ran,cX,cY){//保存传入的画板,相当于每次作画新开一个图层p.save();//设置画笔宽度p.lineWidth = width;//设置画笔颜色p.strokeStyle = color;//新开启作图路径,避免和之前画板上的内容产生干扰p.beginPath();p.translate(cX,cY);//旋转p.rotate(ran);//移动画笔到开始位置p.moveTo(startX,startY);//移动画笔到结束位置p.lineTo(endX,endY);//画线操作p.stroke();//关闭作图路径,避免和之后在画板上绘制的内容产生干扰p.closePath();//在传入的画板对象上覆盖图层p.restore();}/***画水平线*/function drowHorizontalLine(p,width,length,color,startX,startY,ran,cX,cY){drowLine(p,width,color,startX,startY,startX+length,startY,ran,cX,cY);} /***画圈圈*/function drowCircle(p,width,color,centreX,centreY,r){p.save();//设置画笔宽度p.lineWidth = width;//设置画笔颜色p.strokeStyle = color;//新开启作图路径,避免和之前画板上的内容产生干扰p.beginPath();//画圈圈p.arc(centreX,centreY,r,0,360,false);//画线操作p.stroke();//关闭作图路径,避免和之后在画板上绘制的内容产生干扰p.closePath();//在传入的画板对象上覆盖图层p.restore();}function drowPoint(p,width,color,centreX,centreY,r){p.save();//设置画笔宽度p.lineWidth = width;//设置画笔颜色p.fillStyle = color;//新开启作图路径,避免和之前画板上的内容产生干扰p.beginPath();//画圈圈p.arc(centreX,centreY,r,0,360,false);//画线操作p.fill();//关闭作图路径,避免和之后在画板上绘制的内容产生干扰p.closePath();//在传入的画板对象上覆盖图层p.restore();}function drowScales(p){//画小刻度for(var i = 0;i < 60;i++){drowHorizontalLine(p,scaleSmallWidth,scaleSmallLength,scaleColor,195-scaleSmallLength,0,i*6*Math.PI/180,250,250);}//画大刻度for(var i = 0;i < 12;i++){drowHorizontalLine(p,i%3==0?scaleBigWidth*1.2:scaleBigWidth,i%3==0?scaleBigLength*1.2:scaleBigLength,scaleColor,195-scaleBigLength,0,i*30*Math.PI/180,250,250);//可以添加数字刻度}}function drowHourPoint(p,hour){drowHorizontalLine(p,hourPointWidth,hourPointLength,hourPointColor,-10,0,(hour-3)*30*Math.PI/180,250,250);}function drowMinPoint(p,min){drowHorizontalLine(p,minPointWidth,minPointLength,minPointColor,-15,0,(min-15)*6*Math.PI/180,250,250);}function drowSecPoint(p,sec){drowHorizontalLine(p,secPointWidth,secPointLength,secPointColor,-15,0,(sec-15)*6*Math.PI/180,250,250);}function drowClock(){panel.clearRect(0,0,500,500);panel.fillText("",10,20);panel.fillText("",10,40);var date = new Date();var sec = date.getSeconds();var min = date.getMinutes();var hour = date.getHours() + min/60;drowCircle(panel,7,lue,250,250,200);drowScales(panel);drowHourPoint(panel,hour);drowMinPoint(panel,min);drowSecPoint(panel,sec);drowPoint(panel,1,centerColor,250,250,7);//drowHorizontalLine(panel,10,10, ed,-5,0,0,250,250);}//drowHorizontalLine(panel,7,30,#F00,0,0,Math.PI,250,250);drowClock();setInterval(drowClock,1000);function save(){var image = clock.toDataURL("image/png").replace("image/png", "image/octet-stream"); location.href=image;}

【相关推荐】

织梦仿模板堂资源交易下载整站源码,ubuntu恢复默认启动,tomcat 6升级,爬虫 线程同步,火狐不能打开php文件,seo兼职在哪里找seo顾问lzw

1. HTML5开发手机应用-详细介绍viewport的作用(图文)

jsp 在线商城源码,ubuntu 重启桌面命令,爬虫采集的优势,二维索引数组和关联数组php,seo的音标lzw

2. 浅谈html5 响应式布局

3. HTML5 程序设计

4. 小程序开发之利用co处理异步流程的实例教学

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。