利用canvas画钟表

canvas (HTML5新增标签)

**什么是canvas?

Canvas
API(画布)是在HTML5中新增的标签用于在网页实时生成图像,并且可以操作图像内容,基本上它是一个可以用JavaScript操作的位图(bitmap)。
Canvas 对象表示一个 HTML 画布元素 -。它没有自己的行为,但是定义了一个 API 支持脚本化客户端绘图操作。

首先贴出最终结果,个人认为难度不大,但是通过做这个demo,可以锻炼我们阅读文档,分析问题的能力。接下里会写出思考过程,希望对大家能有帮助,通识也是我自己加深印象的过程。
这里写图片描述

第一步-表盘所需要的几何知识

三个指针旋转的角度是如何计算的。
表盘是如何生成的。
十二个小时数字是如何生成的。

第二步-Canvas外边框圆形

定义画圆方法,执行方法:
1)重新映射画布上的 (0,0) 位置,ctx.translate(r,r);
2)起始一条路径,ctx.beginPath();
3)开始画圆:ctx.arc(0,0,r,0,2*Math.PI,false);参数:圆点坐标x、y,起始弧度sAngle、eAngle,是否逆时针
4)绘制已定义的路径:ctx.stroke();默认1px;

    var dom = document.getElementById("clock");
    var ctx = dom.getContext("2d");
    var width = ctx.canvas.width;
    var height = ctx.canvas.height;
    var r = width / 2;
    var BL = width / 200;
    function drawBackGrounf() {
        ctx.save();//保存一下最开始时钟的环境
        ctx.translate(r, r);//矩形的中心点
        ctx.beginPath();
        ctx.lineWidth = 10 * BL;//线要 乘上 比例
        ctx.arc(0, 0, r - ctx.lineWidth / 2, 2 * Math.PI, false);//乘上比例
        ctx.stroke();
        // ctx.fillStyle="#00000a";

第三步-绘制表盘里的内容

这里需要写三个函数,我们需要写小时、分钟、秒的指针的函数完整代码我回粘贴在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

余光、

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值