HTML5canvas时钟实例

Canvas绘制一个时钟 Canvas绘制一个时钟 Canvas:一个可以使用脚本(通常为JavaScript)在其中绘制图像的 HTML 元素。它可以用来制作照片集或者制作简单(也不是那么简单)的动画,甚至可以进行实时视频处理和渲染。 博客地址:https://xiaofly.cn/post-details?id=627b9c9b5fcf765110cdcb6e 先上效果图: 先创建一个index.html,内容如下: <!-- index.html --> <!DOCTYPE html> <h 阅读详情

直接放代码不太好,还是简单说说运用到的canvas知识

1、canvas 元素用于在网页上绘制图形。

<canvas id="c" width="1000" height="400"></canvas>

2、canvas2d环境下绘制

var oGC = oC.getContext('2d');

3、我要开始绘制路径啦

oGC.beginPath();

4、从画布的(x,y)点开始绘制路径

oGC.moveTo(x,y);

5、以(x,y)为圆心,r为半径,从0度画到360度。也就是一个圆咯

 oGC.arc(x,y,r,0,360*Math.PI/180,false);

6、结束绘制路径

   oGC.closePath();

7、用线把刚才的路径连起来

   oGC.stroke();

8、想把这条线变宽一点

   oGC.lineWidth = 3;

9、想给这个圆涂上白色(填充)

oGC.fillStyle= "#fff"

下面是实例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        body{background: #000;}
        #c{background: #fff;}
    </style>
    <script>
        window.onload = function () {
            var oC = document.getElementById("c");
            var oGC = oC.getContext('2d');

            function toDraw() {
                var x = 200;
                var y = 200;
                var r = 150;
//              清除掉以前的画布内容,后面重新绘制从而实现动画效果
                oGC.clearRect(0,0,oC.width,oC.height);

                var oDate = new Date();
                var oHou = oDate.getHours();
                var oMin = oDate.getMinutes();
                var oSen = oDate.getSeconds();

                var oHoursValue = (-90 + oHou*30 +oMin/2)*Math.PI/180;
                var oMinsValue = (-90 + oMin*6)*Math.PI/180;
                var oSensValue = (-90 + oSen*6)*Math.PI/180;


//              这里画了均匀扇形组成的圆
                oGC.beginPath();
                for(var i=0;i<60;i++){
                    oGC.moveTo(x,y);
                    oGC.arc(x,y,r,6*i*Math.PI/180,6*(i+1)*Math.PI/180,false);
                }
                oGC.closePath();
                oGC.stroke();

//              画一个填充白色的圆,半径是上面的19/20,从而遮挡里面的线条,达到显示小刻度的目的
                oGC.fillStyle = "#fff";
                oGC.beginPath();
                oGC.arc(x,y,r*19/20,0,360*Math.PI/180);
                oGC.closePath();
                oGC.fill();

//              画大刻度同理
                oGC.lineWidth = 3;
                oGC.beginPath();
                for(var i=0;i<60;i++){
                    oGC.moveTo(x,y);
                    oGC.arc(x,y,r,30*i*Math.PI/180,30*(i+1)*Math.PI/180,false);
                }
                oGC.closePath();
                oGC.stroke();

                oGC.fillStyle = "#fff";
                oGC.beginPath();
                oGC.arc(x,y,r*18/20,0,360*Math.PI/180,false);
                oGC.closePath();
                oGC.fill();

//                画中心小圆点
                oGC.fillStyle = "#000";
                oGC.beginPath();
                oGC.arc(x,y,r*1/20,0,360*Math.PI/180,false);
                oGC.closePath();
                oGC.fill();

//                画时针
                oGC.lineWidth = 4;
                oGC.beginPath();
                oGC.moveTo(x,y);
                oGC.arc(x,y,r*10/20,oHoursValue,oHoursValue,false);
                oGC.closePath();
                oGC.stroke();

//                画分针
                oGC.lineWidth = 3;
                oGC.beginPath();
                oGC.moveTo(x,y);
                oGC.arc(x,y,r*14/20,oMinsValue,oMinsValue,false);
                oGC.closePath();
                oGC.stroke();

//                画秒针
                oGC.lineWidth = 1;
                oGC.beginPath();
                oGC.moveTo(x,y);
                oGC.arc(x,y,r*17/20,oSensValue,oSensValue,false);
                oGC.closePath();
                oGC.stroke();
            }
            setInterval(toDraw,1000);

            toDraw();
        }
    </script>
</head>
<body>
<canvas id="c" width="1000" height="400"></canvas>
</body>
</html>
Python画好看的雷达图,全网开源代码最好看的 【代码】Python画好看的雷达图,全网开源代码最好看的。 阅读详情

相关推荐

【学习记录】IIC驱动ICM42670+卡尔曼滤波+四元数姿态角解算

ICM42670陀螺仪可以使用iic驱动,单片机平台使用GD32f305VE。

liarsup的博客 8270

canvas实现时钟

canvas实现时钟

m0_56274171的博客 914

RPMsg:协议简介

两台计算机可以通过TCP/IP进行通信,那么同一颗芯片上的两个核心怎么通信呢?

SunnyZhou-1024的博客 1万+

Canvas实现简单时钟表盘

Canvas绘制表盘

qq_31808873的博客 750

Cadence SIP Layout 简单教程-第一章

以摄像头模组软硬结合板为例,描述layout的整个完整过程,从而掌握基本技能。 第一章 准备工作 第一节 原理图不用说layout前需要绘制原理图,原理图不在本文讨论范围内,所以列为准备工作。 需要特别说明的是,绘制原理的最终目的是导出网络表,网络表中的重要参数footprint是让layout软件选择正确封装的关键,所以这里讲解一下原理图设置footprint的位置。在原理图中双击零件,...

whp1920的博客 1万+

RC模型车多电机驱动方案:从电调PWM原理到四电机安全连接实战

在电机控制领域,PWM(脉冲宽度调制)是实现精确调速的核心技术。其原理是通过调节固定周期内高电平的脉宽来编码控制指令,进而驱动电子调速器(电调)改变输出功率。这项技术对于需要多电机协同工作的场景,如RC模型车的差速转向或重型负载驱动,具有关键价值。它能实现动力的精细分配与同步,提升车辆的可控性与通过性。在实际应用中,为确保系统稳定,必须关注电流分配与信号同步问题。例如,通过为每个电机配备独立电调并采用信号并联(Y线)的方式,可以构建可靠的四电机驱动系统。这种方案能有效避免因单个电调过载或电机反电动势不一致导

weixin_30664615的博客 382

canvas之时钟

在画时钟之前,我们先来聊一聊canvas动画。 驱动动画的方法有以下三种:那么我们制作canvas动画使用哪种更好呢?所以在制作canvas动画时,更推荐使用。制作canvas动画的步骤:那么就让我们看看时钟的动画制作吧: 效果如下:

时光清浅处,一步一安然 411

802.11 NDP Sounding

NDP Sounding1.NDP原理2.NDP 过程3.帧结构3.1 NDPA结构3.2 CBF帧 1.NDP原理 802.11n标准提供的波束成形技术,可以通过预先补偿发射天线的相位,让两条波束进行叠加以实现最好的效果 显式波束成形需要终端反馈信道信息: AP向STA发送探测数据(NDP: null data packet sounding) STA向AP反馈信道信息(Compressed beamforming) AP根据STA的反馈或自行计算的权重信息进行波束成形 2.NDP 过程 802.

weixin_45799954的博客 8263

canvas绘制时钟

canvas绘制时钟 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content='width=device-width, initial-scale=1, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0'></meta> </head&g

qq_41985405的博客 297

10、硬件工程师笔试面试——继电器(2025版本)

在设计电路时,应综合考虑SSR的优势和局限性,确保选择合适的型号,并采取适当的设计措施来优化性能和可靠性。继电器的主要功能是利用较小的电流或电压来控制较大电流或电压的电路,实现信号的放大和隔离。在处理继电器故障时,应综合考虑电源、线圈、触点和负载等因素,及时进行故障诊断和处理,以确保电路系统的稳定性和安全性。由于汽车电子系统的复杂性,继电器的设计和选择必须考虑到系统的特定要求,包括电流容量、电压等级、环境条件(如温度、湿度、振动)以及所需的保护和隔离功能。确定线圈的工作电压或电流,以及吸合电压或电流。

XU157303764的博客 3733

【DRAM存储器六十二】DDR5介绍--引脚和基本功能简介

详述DDR5与DDR4的引脚区别和DDR5基本功能

highman110的博客 529

html5学习canvas实例之时钟

html5-01 window.onload=function (){ var canvas=document.getElementById("canvas"); var ctx=canvas.getContext('2d'); drawclock(); setInterval(drawclock,1000); function drawclock(){ //获取

u013303425的专栏 1035

MATLAB 开发项目实例 1000 例专栏之第37例:基于Simulink的无人机飞行控制系统设计

通过上述项目实例,我们成功地使用Simulink设计和仿真了一个无人机的飞行控制系统。这个项目展示了从无人机建模、路径规划、控制器设计到仿真验证的完整流程。Simulink的可视化和模块化特性使得系统的建模和仿真更加直观和高效。

xiaoheshang_123的博客 163

html5实例绘制时钟代码,使用html5 canvas 画时钟代码实例分享

HTML5足够强大实现很多功能,画一个时钟只是一个小玩意。图片指针用ctx的drawImage可以实现。至于兼容性问题,网上的解决方案已经很多了。这个东东是用来玩的,不是用来做应用的,学习下canvas API。先给大家展示效果图实现代码复制代码代码如下:// var time = new Date();var h = time.getHours();var m = time.getMinutes...

weixin_35970195的博客 468

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

html5 canvas 时钟实例

从网上找了一段时钟实例的小程序,然后我把它移到jQueryMobile代码结构中,先看下效果:再看下代码: <!DOCTYPE html><html><head><title>html5 clock</title><meta content="text/html; charset=UTF-8"></head>...

weixin_30439067的博客 102

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

html5时钟在图片上画指针,使用html5 canvas 画时钟代码实例分享

HTML5足够强大实现很多功能,画一个时钟只是一个小玩意。图片指针用ctx的drawImage可以实现。至于兼容性问题,网上的解决方案已经很多了。这个东东是用来玩的,不是用来做应用的,学习下canvas API。先给大家展示效果图实现代码// var time = new Date();var h = time.getHours();var m = time.getMinutes();var s ...

weixin_39824223的博客 138

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

数字时钟html5 js,html5 canvas js(数字时钟)实例代码

canvas dClock您的浏览器太古董了,升级吧!var clock = document.getElementById("clock");var cxt = clock.getContext("2d");//显示数字时钟function showTime(m, n) {cxt.clearRect(0, 0, 500, 500);var now = new Date;var hour = no...

weixin_39950867的博客 180

html数字时钟免费代码,html5 canvas js(数字时钟)实例代码

canvas dClock您的浏览器太古董了,升级吧!var clock = document.getElementById("clock");var cxt = clock.getContext("2d");//显示数字时钟function showTime(m, n) {cxt.clearRect(0, 0, 500, 500);var now = new Date;var hour = no...

weixin_32334209的博客 822

数字时钟html脚本,html5 canvas js(数字时钟)实例代码

canvas dClock您的浏览器太古董了,升级吧!var clock = document.getElementById("clock");var cxt = clock.getContext("2d");//显示数字时钟function showTime(m, n) {cxt.clearRect(0, 0, 500, 500);var now = new Date;var hour = no...

weixin_39949584的博客 295

html5之Canvas坐标变换应用-时钟实例

在上一篇中我们了解html5的Canvas ,在这一篇中不用多说,写一个html5的时钟应用程序试手。在这里主要设置了坐标变换的平移(translate)和旋转变换(ratate),以及html5 Canvas的路径绘图,beginPath,closePath,rect,arc等

1822

兄弟连HTML5——07.canvas实例1——时钟

本章概要    1.分析时钟的组成    2.分析需要的canvas技术    3.动手操作    4.美化时钟      主要应用的技术    1.canvas画线    2.canvas画圆    3.笔触修改和填充笔修改    4.角度旋转    5.js部分对象和方法(Date对象和setInterval)            

pugongyingyangyue的博客 321
上一篇: js原型和原型链
下一篇: Node.js建站之安装express(一)
Hi-ZhiWei
博客等级 码龄10年 3粉丝 6原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值