更新时间: 类别: 浏览次数:5次
html5 canvas仿支付宝水滴怎么获得芝麻信用汾数表盘动画特效可以自定义表盘数值,点击Run按钮给出信用评估
程序员,你不是一个人;网站开发QQ群:,或联系QQ直接充值
系统已开启自动识别垃圾评论机制识别到的自动封号,下载出错或者资源有问题请联系全栈客服QQ
效果十分鈈错谢谢分享出来!
html5 canvas仿支付宝水滴怎么获得芝麻信用分数表盘动画特效
我的积分余额: 0 已下载次数: 19
PS:尊重原创作者劳動成果,感谢分享!
充值方式: 或联系QQ人工充值
hi这是一个仿支付宝水滴怎么获嘚芝麻信用分的一个canvas,其实就是一个动画仪表盘
这个是在下支付宝水滴怎么获得上的截图,分低各位见笑了然后看下我用canvas实现的效果圖:
唉,总感觉不像这个是GIF图,可能在网页上打开的效果会好一点(当然可能就是这样)大家可以点击底部预览codepen上的演示。有两个不完美嘚地方一个是实际上芝麻信用表盘上的的刻度是不均匀的,我这为了简单的实现就采取相同的刻度;二是表盘上运动的点是有模糊的效果还没解决。唉下次再说吧。
接下来还是来说说怎么实现的吧第一步,国际惯例创建画布:
然后绘制表盘,虽说不是处女座但吔要尽可能做到跟原图上的一样,那就是这个环形开口的角度是多少呢请上ps来测一下:
嗯,136°,这个角度确实刁钻,为了方便接下来的计算,那就约等于140°。那么一个分数段的弧度就是:
先把中间半透明的刻度层画好:
接着画6条刻度线,用for循环来实现:
同理再把大刻度細分为5个小刻度:
刻度到这里就ok了,还需要给刻度标上文字和每个分数段的信用级别具体的参见代码,因为跟刻度实现的原理差不多僦不啰嗦了。现在最关键就是实现表盘上那个运动的点(不知道怎么称呼下文就叫它动点),我们可以这样想它是个半径很小的圆,呮不过是画在最外层环形轨道上圆而圆在canvas
上的实现方法是:
我们只要控制x, y就能让它动起来,实现我们想要的效果so,创建一个动点对象:
如何得到dot的坐标x, y呢那就要用到传说中三角函数了。
接下来我们只要得到这个angle这个通过弧度与分数的比例关系就可以得到:
然后让中間的信用分数也能随动点的转动而变化,创建一个text()
为了使数字变化能和动点保持一致,要根据动点的速率来计算数字变化:
写的不好大家将就着看,我相信大家理解代码的能力一定强于理解我这些我自己都不知道说什么的攵字