一个优雅的 js canvas 时钟表盘

128 天前
 kylebing

做了个 js canvas 模拟表盘的时钟,感觉不错,后续慢慢优化。

非常喜欢 iOS 时钟那样秒针平滑移动的效果,这个也是一样。

黑色:http://kylebing.cn/tools/clock-a/?theme=black
白色:http://kylebing.cn/tools/clock-a

github: https://github.com/KyleBing/animate-clock-canvas

2894 次点击
所在节点    分享创造
17 条回复
xubeiyan
127 天前
在我的老掉牙 i7-8650U 上跑了下
CPU:告辞 GPU: 告辞
表盘不需要每帧都重绘,每帧只需要重绘三根指针就行了
caola
127 天前
数字 3 和 9 建议旋转 90 度,4-8 数字旋转 180 度
EJW
127 天前
丝滑,很帅
retrocode
127 天前
@xubeiyan 我测了下 应该是你浏览器没开硬件加速, 全走 cpu 了, 不得不说这效果纯走 cpu 占的有点过于多了 i9 占用直接干到 54%, 开硬件加速就正常多了 5%左右
retrocode
127 天前
看了下代码可以优化下, draw 函数每次连表盘都重新绘制一遍, 非常消耗性能, 没必要感觉
weixind
127 天前
杀鸡用牛刀了。其实不用上 canvas 。
lizhenda
127 天前
很漂亮啊
kylebing
127 天前
谢建议,在理,等优化下
214L
127 天前
可以做一下分层,频繁更新的元素放在一个 canvas 里。
royalknight
127 天前
直接 css 呢?对好时间,设置个旋转的 css 动画就行了
WhateverYouLike
127 天前
很漂亮哦😯
auvt
127 天前
好漂亮!要是在老 kindle 上打开是不是就能旧物新用了
lisongeee
127 天前
看起来全是矢量图形,感觉可以 css+svg 实现,不需要 canvas
kylebing
127 天前
@auvt kindle ? 性能够不够,这个挺耗资源的。
undoing
127 天前
是我的问题吗?怎么感觉 12 和 6 没有对齐
xiaomoxian
126 天前
好看好看 能把别人女朋友头像放表盘吗
期待
kylebing
126 天前
@xiaomoxian 你自己可以研究研究放上去 -.-lll

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1065466

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX