canvas画布时钟

canvas画布时钟

添加时间:2021-03-03 17:53:38
站长推荐丨赞助论坛,可获取海量资源终身免费下载权限奥!
举报 举报
收藏
预览
附件 附件
  • 模板类型模板类型:canvas
  • 模板颜色模板颜色:入门级
  • 下载积分下载积分:28 米粒
  • 下载权限下载权限:

    赞助会员

简单动态时钟,script写的,颜色可按照自己的爱好进行调试,html5 canvas制作彩色的钟表
canvas画布时钟
分类:html5 > canvas 难易:入门级
var canvasText = document.getElementsByTagName("canvas")[0].getContext("2d");
var shizhong = function() {
    //清除画布
    canvasText.clearRect(0, 0, 1300, 600);
//				var imgNode = document.getElementById("beijing")
//				canvasText.drawImage(imgNode,0,0,1300,600,0,0,1300,600);
    var a = canvasText.createLinearGradient(200, 0, 0, 400);
    a.addColorStop("0", "red");
    a.addColorStop("0.2", "orange");
    a.addColorStop("0.4", "yellow");
    a.addColorStop("0.6", "green");
    a.addColorStop("0.8", "blue");
    a.addColorStop("1", "purple");
    canvasText.save();
    canvasText.fillStyle = a;
    canvasText.beginPath();
    canvasText.arc(650, 300, 200, 0, 360, false);
    canvasText.fill();
    canvasText.closePath();
    canvasText.restore();
    //外圈
    canvasText.strokeStyle = "fuchsia";
    canvasText.lineWidth = 10;
    canvasText.beginPath();
    canvasText.arc(650, 300, 200, 0, Math.PI * 2, true);
    canvasText.closePath();
    canvasText.stroke();
    //时间
    var now = new Date();
    var s = now.getSeconds();
    var m = now.getMinutes();
    var h = now.getHours();
    h = h + m / 60;
    h = (h > 12) ? (h - 12) : h;
    //时刻度
    for (i = 0; i < 12; i++) {
        canvasText.save();
        canvasText.lineWidth = 7;
        canvasText.strokeStyle = "yellow"
        canvasText.translate(650, 300)
        canvasText.rotate(i * 30 * Math.PI / 180);
        canvasText.beginPath();
        canvasText.moveTo(0, -170);
        canvasText.lineTo(0, -191);
        canvasText.stroke();
        canvasText.closePath();
        canvasText.restore();
    }
    //秒刻度
    for (i = 0; i < 60; i++) {
        canvasText.save();
        canvasText.lineWidth = 5;
        canvasText.strokeStyle = "green";
        canvasText.translate(650, 300);
        canvasText.rotate(i * 6 * Math.PI / 180);
        canvasText.beginPath();
        canvasText.moveTo(0, -180);
        canvasText.lineTo(0, -190);
        canvasText.stroke();
        canvasText.closePath();
        canvasText.restore();
    }
    //数字
    canvasText.font = '30px 黑体';
    canvasText.fillStyle = 'black';
    canvasText.textAlign = 'center';
    canvasText.textBaseline = 'middle';
    for (var n = 1; n <= 12; n++) {
        var theta = (n - 3) * (Math.PI * 2) / 12;
        var x = 250 * 0.61 * Math.cos(theta);
        var y = 250 * 0.61 * Math.sin(theta);
        canvasText.save();
        canvasText.lineWidth = 5;
        canvasText.translate(650, 300);
        canvasText.beginPath();
        canvasText.fillText(n, x, y);
        canvasText.closePath();
        canvasText.restore();
    }
    canvasText.save();
    //时针
    canvasText.lineWidth = 10;
    //设置时针的颜色
    canvasText.strokeStyle = "black";
    //设置表心空间的0,0点
    canvasText.translate(650, 300);
    //设置旋转的角度
    canvasText.rotate(h * 30 * Math.PI / 180);
    //开始绘制
    canvasText.beginPath();
    canvasText.moveTo(0, -100);
    canvasText.lineTo(0, 10);
    canvasText.stroke();
    canvasText.closePath();
    canvasText.restore();
    //分针
    canvasText.save();
    //设置分针的风格
    canvasText.lineWidth = 5;
    canvasText.strokeStyle = "black";
    //设置表心空间分针画布的圆心
    canvasText.translate(650, 300);
    //设置旋转角度
    canvasText.rotate(m * 6 * Math.PI / 180);
    //开始绘制
    canvasText.beginPath();
    canvasText.moveTo(0, -140);
    canvasText.lineTo(0, 15);
    canvasText.stroke();
    canvasText.closePath();
    canvasText.restore();
    //秒针
    canvasText.save();
    //设置秒针的风格
    canvasText.lineWidth = 3;
    canvasText.strokeStyle = 'red';
    //设置表心分针画布的圆心
    canvasText.translate(650, 300);
    //设置旋转角度
    canvasText.rotate(s * 6 * Math.PI / 180);
    //绘制秒针
    canvasText.beginPath();
    canvasText.moveTo(0, -170);
    canvasText.lineTo(0, 20);
    canvasText.stroke();
    canvasText.closePath();
    //画出时针,分针,秒针的交叉点
    canvasText.beginPath();
    canvasText.arc(0, 0, 5, 0, 360, false);
    //设置填充样式
    canvasText.fillStyle = "gold";
    canvasText.fill();
    //设置笔触样式(秒针已设置)
    canvasText.stroke();
    canvasText.closePath();

    //设置秒针前段的小圆点
    canvasText.beginPath();
    canvasText.arc(0, -150, 5, 0, 360, false);
    //设置填充样式
    canvasText.fillStyle = "gold";
    canvasText.fill();
    //设置笔触样式(秒针已设置)
    canvasText.stroke();
    canvasText.closePath();

    canvasText.restore();
}
shizhong();
setInterval("shizhong()", 1000);
相关内容推荐
资源求助发帖
查看更多发帖

*

回帖描述:

*

链接类型:

*

下载链接:

密码:
发帖规则:回帖内容为会员之间的私信,普通网友无法查看。
免责声明:回帖中提供的链接内容仅供会员之间学习参考使用,获取内容后请在法律法规范围内使用。回帖提供的内容应符合法律法规要求,不得违反法律法律的要求。
站点权责:回帖内容如违反法律法规,站点有权封停账号使用权利。对用户举报的内容,站点有责任及时删除违规内容。
热点内容推荐
标题:canvas画布时钟

*

描述:
平均回复时间:3-10分钟
规则介绍:悬赏寻求论坛网友分享资源,站点对分享内容的准确性,合法性,版权等没有足够的监管能力。如果您发现资源不正确,无法使用,不符合法律法律等情况,您可以直接举报资源。站长将尽快核实您的举报,并根据情况,采取封号,退换米粒等处理。

*

回帖描述:

*

链接类型:

*

阅读权限:

*

下载链接:

密码:
发帖规则:回帖内容为会员之间的私信,普通网友无法查看。
免责声明:回帖中提供的链接内容仅供会员之间学习参考使用,获取内容后请在法律法规范围内使用。回帖提供的内容应符合法律法规要求,不得违反法律法律的要求。
站点权责:回帖内容如违反法律法规,站点有权封停账号使用权利。对用户举报的内容,站点有责任及时删除违规内容。
  • 背景波浪
  • 背景波浪
  • 波浪
  • 波浪
客服
在线咨询
周一 至 周日 9:00 ~ 22:00
QQ:1326974360
微信:juyoubuluo6688
客服热线
18205485173
工作日 9:00 ~ 18:00
微信扫码咨询
客户服务
欢迎咨询服务
咨询量较多时,请耐心等待
社群

关注公众号

获取更多资讯

扫码进群(QQ)

与更多大牛交流沟通

0.102090s