iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > html >html5 中怎么利用canvas实现一个圆形时钟
  • 836
分享到

html5 中怎么利用canvas实现一个圆形时钟

2024-04-02 19:04:59 836人浏览 独家记忆
摘要

这篇文章给大家介绍HTML5 中怎么利用canvas实现一个圆形时钟,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。<!DOCTYPE html><html>&l

这篇文章给大家介绍HTML5 中怎么利用canvas实现一个圆形时钟,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>HTML CLOCK</title>
</head>
<body>
<canvas width="500" height="500" id="clock">
 你的浏览器不支持canvas标签,时针显示不出来哦!
</canvas>

<script type="text/javascript">
//画布背景颜色
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 12
var scaleBigWidth = 9;
//表盘大刻度的长度
var scaleBigLength = 15;
//表盘小刻度的宽度
var scaleSmallWidth = 5;
//表盘小刻度的长度
var scaleSmallLength = 10;
//圆心颜色
var centerColor = 'red';


//时钟画布
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("<a href="https://www.yisu.com",10,40">Https://www.yisu.com",10,40</a>);
 var date = new Date();
 var sec = date.getSeconds();
 var min = date.getMinutes();
 var hour = date.getHours() + min/60;
 drowCircle(panel,7,'blue',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,'red',-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;
}
</script>
</body>
</html>

关于html5 中怎么利用canvas实现一个圆形时钟就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

--结束END--

本文标题: html5 中怎么利用canvas实现一个圆形时钟

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

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • html5 中怎么利用canvas实现一个圆形时钟
    这篇文章给大家介绍html5 中怎么利用canvas实现一个圆形时钟,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。<!DOCTYPE html><html>&l...
    99+
    2024-04-02
  • 怎么在Html5中使用canvas实现一个粒子时钟
    这篇文章将为大家详细讲解有关怎么在Html5中使用canvas实现一个粒子时钟,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。首先要创建一个html文件并添加一个canvas画布,如下:<...
    99+
    2023-06-09
  • 怎么使用html5 canvas画一个时钟
    这篇文章主要介绍“怎么使用html5 canvas画一个时钟”,在日常操作中,相信很多人在怎么使用html5 canvas画一个时钟问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解...
    99+
    2024-04-02
  • 怎么在JavaScript中利用canvas实现一个圆形流水动画
    这篇文章将为大家详细讲解有关怎么在JavaScript中利用canvas实现一个圆形流水动画,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。JavaScript的特点1.JavaScript主...
    99+
    2023-06-14
  • 怎么在html5中利用canvas绘制一个圆环
    今天就跟大家聊聊有关怎么在html5中利用canvas绘制一个圆环,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。实现过程:首先:html部分代码如下:<canvas ...
    99+
    2023-06-09
  • 怎么用HTML5的canvas实现一个炫酷时钟效果
    小编给大家分享一下怎么用HTML5的canvas实现一个炫酷时钟效果,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!对于H5来说,canvas可以说是它最有特色的一...
    99+
    2023-06-09
  • HTML5 中怎么利用Canvas自定义圆角矩形
    本篇文章为大家展示了HTML5 中怎么利用Canvas自定义圆角矩形,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。 HTML5 Can...
    99+
    2024-04-02
  • 怎么用html5画一个圆形
    本篇内容主要讲解“怎么用html5画一个圆形”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用html5画一个圆形”吧!代码如下:<!DOCTYPE&n...
    99+
    2024-04-02
  • 怎么在html5中实现一个时钟功能
    这期内容当中小编将会给大家带来有关怎么在html5中实现一个时钟功能,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。<!DOCTYPE HTML><html><hea...
    99+
    2023-06-09
  • html5中怎么利用Canvas绘制椭圆
    html5中怎么利用Canvas绘制椭圆,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。 概述 HTML5中的C...
    99+
    2024-04-02
  • 如何利用CSS3动画实现圆形动态时钟
    小编给大家分享一下如何利用CSS3动画实现圆形动态时钟,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧! 什么是动画?这是我们应该先了解的问题。按照百度百科的解释动画是采用逐帧拍摄对...
    99+
    2024-04-02
  • 使用canvas怎么实现一个圆形进度条动画
    这期内容当中小编将会给大家带来有关使用canvas怎么实现一个圆形进度条动画,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1. canvas的HTML部分很简单就一个canvas标签canvas画布的宽高...
    99+
    2023-06-09
  • HTML5中怎么用Canvas实现变形
    本篇内容主要讲解“HTML5中怎么用Canvas实现变形”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“HTML5中怎么用Canvas实现变形”吧! 变形(即t...
    99+
    2024-04-02
  • html5中怎么利用canvas实现一个刮刮卡效果
    这篇文章给大家介绍html5中怎么利用canvas实现一个刮刮卡效果,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。代码如下:<!DOCTYPE html><...
    99+
    2024-04-02
  • 怎么在html5中利用canvas实现一个弹幕功能
    本篇文章为大家展示了怎么在html5中利用canvas实现一个弹幕功能,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。(function () {   ...
    99+
    2023-06-09
  • 怎么用HTML5编写一个时钟
    这篇文章主要介绍“怎么用HTML5编写一个时钟”,在日常操作中,相信很多人在怎么用HTML5编写一个时钟问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用HTML5编写一个...
    99+
    2024-04-02
  • HTML5怎么实现圆角矩形
    今天小编给大家分享一下HTML5怎么实现圆角矩形的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下...
    99+
    2024-04-02
  • 如何使用HTML5实现一个时钟动画
    这篇文章主要为大家展示了“如何使用HTML5实现一个时钟动画”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用HTML5实现一个时钟动画”这篇文章吧。  ...
    99+
    2024-04-02
  • 利用canvas怎么绘制一个多边形
    利用canvas怎么绘制一个多边形?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。 初始化js代码  //初始化  (function()...
    99+
    2023-06-09
  • html5中怎么使用canvas画空心圆与实心圆
    这篇文章主要介绍“html5中怎么使用canvas画空心圆与实心圆”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“html5中怎么使用canvas画空心圆与实心圆”文...
    99+
    2024-04-02
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作