返回顶部
首页 > 资讯 > 前端开发 > html >如何使用canvas绘制超炫时钟
  • 888
分享到

如何使用canvas绘制超炫时钟

2024-04-02 19:04:59 888人浏览 安东尼
摘要

这篇文章主要介绍“如何使用canvas绘制超炫时钟”,在日常操作中,相信很多人在如何使用canvas绘制超炫时钟问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何使用canv

这篇文章主要介绍“如何使用canvas绘制超炫时钟”,在日常操作中,相信很多人在如何使用canvas绘制超炫时钟问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何使用canvas绘制超炫时钟”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

先上效果图:

如何使用canvas绘制超炫时钟

代码如下:


<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>canvas钟表</title>
<meta name="KeyWords" content="">
<meta name="author" content="@my_programmer">
<style type="text/CSS">
body{margin:0;}
</style>
</head>
<body onload="run()">
<canvas id="canvas" width=400 height=400 >如果你看到这段文字,说明你的浏览器弱爆了!</canvas>
<script>
window.onload=draw;
function draw() {
var canvas=document.getElementById('canvas');
var context=canvas.getContext('2d');
context.save(); ///////////////////////////////////保存
context.translate(200,200);
var deg=2*Math.PI/12;    
//////////////////////////////////////////////////表盘
context.save();    
context.beginPath();    
for(var i=0;i<13;i++){
var x=Math.sin(i*deg);
var y=-Math.cos(i*deg);
context.lineTo(x*150,y*150);    
}
var c=context.createRadialGradient(0,0,0,0,0,130);
c.addColorStop(0,"#22f");
c.addColorStop(1,"#0ef")
context.fillStyle=c;
context.fill();
context.closePath();    
context.restore();    
//////////////////////////////////////////////////数字
context.save();
context.beginPath();
for(var i=1;i<13;i++){
var x1=Math.sin(i*deg);
var y1=-Math.cos(i*deg);
context.fillStyle="#fff";
context.font="bold 20px Calibri";
context.textAlign='center';
context.textBaseline='middle';
context.fillText(i,x1*120,y1*120);    
}
context.closePath();    
context.restore();    
//////////////////////////////////////////////////大刻度
context.save();
context.beginPath();    
for(var i=0;i<12;i++){
var x2=Math.sin(i*deg);
var y2=-Math.cos(i*deg);
context.moveTo(x2*148,y2*148);
context.lineTo(x2*135,y2*135);    
}    
context.strokeStyle='#fff';
context.lineWidth=4;
context.stroke();
context.closePath();
context.restore();    
//////////////////////////////////////////////////小刻度
context.save();
var deg1=2*Math.PI/60;
context.beginPath();    
for(var i=0;i<60;i++){
var x2=Math.sin(i*deg1);
var y2=-Math.cos(i*deg1);
context.moveTo(x2*146,y2*146);
context.lineTo(x2*140,y2*140);    
}    
context.strokeStyle='#fff';
context.lineWidth=2;
context.stroke();
context.closePath();    
context.restore();    
///////////////////////////////////////////////////文字
context.save();
context.strokeStyle="#fff";
context.font=' 34px sans-serif';
context.textAlign='center';
context.textBaseline='middle';
context.strokeText('canvas',0,65);    
context.restore();    
/////////////////////////////////////////////////new Date
var time=new Date();
var h=(time.getHours()%12)*2*Math.PI/12;
var m=time.getMinutes()*2*Math.PI/60;
var s=time.getSeconds()*2*Math.PI/60;</p> <p>////////////////////////////////////////////////时针
context.save();
context.rotate( h + m/12 + s/720) ;
context.beginPath();
context.moveTo(0,6);
context.lineTo(0,-85);
context.strokeStyle="#fff";
context.lineWidth=6;
context.stroke();
context.closePath();
context.restore();
//////////////////////////////////////////////分针
context.save();
context.rotate( m+s/60 ) ;
context.beginPath();
context.moveTo(0,8);
context.lineTo(0,-105);
context.strokeStyle="#fff";
context.lineWidth=4;
context.stroke();
context.closePath();
context.restore();
/////////////////////////////////////////////秒针
context.save();
context.rotate( s ) ;
context.beginPath();
context.moveTo(0,10);
context.lineTo(0,-120);
context.strokeStyle="#fff";
context.lineWidth=2;
context.stroke();
context.closePath();
context.restore();    
context.restore();/////////////////////////////栈出
setTimeout(draw, 1000);/////////////////////////////计时器</p> <p>}</p> <p></script>
</body>
</html>

到此,关于“如何使用canvas绘制超炫时钟”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: 如何使用canvas绘制超炫时钟

本文链接: https://lsjlt.com/news/82019.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 如何使用canvas绘制超炫时钟
    这篇文章主要介绍“如何使用canvas绘制超炫时钟”,在日常操作中,相信很多人在如何使用canvas绘制超炫时钟问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何使用canv...
    99+
    2024-04-02
  • 如何使用纯html5绘制时钟
    这篇文章主要介绍如何使用纯html5绘制时钟,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一起看下效果图:  实现的代码。  htm代码:XML/HTML Code复制内容到剪贴板&...
    99+
    2024-04-02
  • 微信小程序如何使用canvas绘制钟表
    这篇文章给大家分享的是有关微信小程序如何使用canvas绘制钟表的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。模拟时钟利用canvas绘制时钟,实现模拟时钟的功能,钟表时间与系统时间保持一致,刻度将24小时制转换...
    99+
    2023-06-15
  • CSS如何绘制时钟
    这篇文章主要介绍了CSS如何绘制时钟,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1. CSS3Gen - CSS3动画生成器CSS3Gen...
    99+
    2024-04-02
  • C#如何绘制时钟
    今天小编给大家分享一下C#如何绘制时钟的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。时钟是这样的一共使用四个控件即可:Win...
    99+
    2023-07-02
  • 如何使用canvas绘制圆
    如何使用canvas绘制圆?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。arc语法:arc(x, y, radius, startAngle, endAngle, anti...
    99+
    2023-06-09
  • 微信小程序使用canvas绘制钟表
    本文实例为大家分享了微信小程序使用canvas绘制钟表的具体代码,供大家参考,具体内容如下 模拟时钟 利用canvas绘制时钟,实现模拟时钟的功能,钟表时间与系统时间保持一致,刻度将...
    99+
    2024-04-02
  • python如何绘制超炫酷动态Julia集
    这期内容当中小编将会给大家带来有关python如何绘制超炫酷动态Julia集,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。前言此Julia非彼Julia,指的是对于某复数     &n...
    99+
    2023-06-22
  • html如何使用canvas绘制文本
    这篇文章主要为大家展示了“html如何使用canvas绘制文本”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“html如何使用canvas绘制文本”这篇文章吧。 ...
    99+
    2024-04-02
  • C++中Qt如何绘制时钟界面
    这篇文章给大家分享的是有关C++中Qt如何绘制时钟界面的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。首先来看一下效果:大概就是这样子,需要注意的是,这里你需要创建一个基类为Widget的界面来绘制时钟,以至于后期...
    99+
    2023-06-22
  • 如何使用HTML5的Canvas绘制曲线
    这篇文章主要讲解了“如何使用HTML5的Canvas绘制曲线”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使用HTML5的Canvas绘制曲线”吧!Ca...
    99+
    2024-04-02
  • 如何使用Canvas绘制图形图文
    这篇文章主要讲解了“如何使用Canvas绘制图形图文”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使用Canvas绘制图形图文”吧!HTML5火的正热,...
    99+
    2024-04-02
  • 如何使用HTML5 Canvas API绘制弧线
    这篇文章主要为大家展示了“如何使用HTML5 Canvas API绘制弧线”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用HTML5 Canvas API...
    99+
    2024-04-02
  • 使用canvas绘制模糊如何解决
    这篇文章给大家介绍使用canvas绘制模糊如何解决,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。首先,需要理解canvas的展示机制。<canvas id="map" wi...
    99+
    2023-06-09
  • 怎么用HTML5的canvas实现一个炫酷时钟效果
    小编给大家分享一下怎么用HTML5的canvas实现一个炫酷时钟效果,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!对于H5来说,canvas可以说是它最有特色的一...
    99+
    2023-06-09
  • html5如何使用canvas绘制文字特效
    这篇文章主要介绍了html5如何使用canvas绘制文字特效,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。<canvas i...
    99+
    2024-04-02
  • 如何使用canvas绘制贝塞尔曲线
    今天就跟大家聊聊有关如何使用canvas绘制贝塞尔曲线,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1、二次贝塞尔曲线  quadraticCurv...
    99+
    2024-04-02
  • 如何使用html5 canvas绘制实心原形
    这篇文章主要介绍如何使用html5 canvas绘制实心原形,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!使用 html5 canvas 绘制实心原形。<style> &...
    99+
    2024-04-02
  • 使用Canvas如何绘制一个多边形
    使用Canvas如何绘制一个多边形?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。function drawPolygonPath(sideNum,&n...
    99+
    2023-06-09
  • vue使用canvas绘制圆环
    本文实例为大家分享了vue使用canvas绘制圆环的具体代码,供大家参考,具体内容如下 很多时候,会有绘制圆环的要求,比如渐变,圆环等等 所以现在封装了一个方法,可以直接绘制 绘制样...
    99+
    2024-04-02
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作