本文介绍了canvas如何绘制钟表的方法,分享给大家,具体如下:
效果图为
上代码:
var canvas = document.getele关于冬奥会的作文mentbyid(睡前故事文字版'canvas');var ctx = canvas.getcontext('2d');var year,month,day,hour,cond,minute;// 绘制表盘function drawclockpie(){ ctx.beginpath(); ctx.linewidth = 2; ctx.strokestyle = '#333'; ctx.arc(150,150,146,0,2*math.pi); ctx.stroke(); ctx.clopath(); ctx.平分秋色的意思beginpath(); ctx.arc(150,150,6,0,2*math.pi); ctx.fillstyle = 'red'; ctx.fill(); ctx.clopath();}// 绘制时刻度function drawclockhours(){ for(var i = 0,l = 12; i < 12; i++){ ctx.save(); ctx.translate(150,150); ctx.rotate(i*1/12*2*math.pi); ctx.beginpath(); ctx.linewidth = 5; ctx.strokestyle = '#333'; ctx.moveto(0,-140); ctx.lineto(0,-125); ctx.stroke(); ctx.clopath(); ctx.restore(); }}// 绘制分刻度function drawclockmins(){ for(var i = 0,l = 60; i < 60; i++){ ctx.save(); ctx.translate(150,150); ctx.rotate(i*1/60*2*math.pi); ctx.beginpath(); ctx.linewidth = 3; ctx.strokestyle = '#333'; ctx.moveto(0,-140); ctx.lineto(0,-133); ctx.stroke(); ctx.clopath(); ctx.restore(); }}// 绘制时针function drawhourpin(){ ctx.save(); ctx.tran这才是青春600字作文slate(150,150); ctx.rotate((hour*60*60+minute*60+cond)/(12*60*60)*2*math.pi); ctx.beginpath(); ctx.strokestyle = '#333'; ctx.linewidth = 3; ctx.moveto(0,0); ctx.lineto(0,-40); ctx.stroke(); 九妹妹 ctx.clopath(); ctx.restore();}// 绘制分针function drawminpin(){ ctx.save(); ctx.translate(150,150); ctx.rotate((minute*60+cond)/(60*60)*2*math.pi); ctx.beginpath(); ctx.strokestyle = '#333'; ctx.linewidth = 2; ctx.moveto(0,0); ctx.lineto(0,-60); ctx.stroke(); ctx.clopath(); ctx.restore();}// 绘制秒针function drawcpin(){ ctx.save(); ctx.translate(150,150); ctx.rotate(cond/60*2*math.pi); ctx.beginpath(); ctx.strokestyle = 'red'; ctx.linewidth = 1; ctx.moveto(0,0); ctx.lineto(0,-80); ctx.stroke(); ctx.clopath(); ctx.restore();}// 绘制时间文字function drawtext(){ hour = hour >= 12 ? hour - 12 : hour; var time = '现在是' + year + '年' + month + '月' + day + '日' + hour + '时' + minute + '分' + cond + '秒'; ctx.font = '15px 黑体'; ctx.filltext(time,24,350);}// 获取时间function gettimes(){ var date = new date(); year = date.getfullyear(); month = date.getmonth() + 1; day = date.getdate(); hour = date.gethours(); minute = date.getminutes(); cond = date.getconds();}tinterval(function(){ ctx.clearrect(0,0,600,600); drawclockpie(); drawclockhours(); drawclockmins(); gettimes(); drawtext(); drawhourpin(); drawminpin(); drawcpin();},1000);
注:
当然时间也可以不用这样每隔一秒就获取,直接获取一次按秒递增就行。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持www.887551.com。
本文发布于:2023-04-06 11:19:01,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/5d497b6bf88cf44c09bdf4cf0950af19.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:canvas如何绘制钟表的方法.doc
本文 PDF 下载地址:canvas如何绘制钟表的方法.pdf
留言与评论(共有 0 条评论) |