美文网首页前端学习记录
使用svg画弧线的简易方法

使用svg画弧线的简易方法

作者: 无言以越 | 来源:发表于2019-07-10 17:46 被阅读0次

今天有一个需求需要根据进程画百分比弧度,一搜索度娘清一色的path路径,我知道path是万能的但是那些点的坐标计算实在是难为我了,于是根据现有的api想到了一种取巧的办法实现,实现的效果如下

这个方法一样是用到了svg元素  但不是非常灵活的path(越灵活的东西功能越强大,但使用其实越麻烦,就比如transform的translate,rotate,scale,三种方法其实最后都是计算除了偏移矩阵,矩阵也是万能的)  而是使用的具有一定封装好的属性的circle,Dom结构如下:

如circle的类型所述 第一个circle是背景,第二个circle为高亮部分

我们用到了2个核心属性来完成这一工作stroke-dasharray与stroke-dashoffset    

stroke-dasharray是虚线描点之间的距离  但假如足够大的话,当间隔大于圆的周长的时候 我们可以使其只有一个虚点,因为一个虚点就大于了整个圆的长度。

stroke-dashoffset是一个与中心角度挂钩的属性,可以理解为需要显示部分的反向值,它的值+需要高亮部分的长度 === 圆的周长

所以给这个2个值赋值

之所以获取HTML的fontSize是因为我定义的长度单位是rem  为了自适应分辨率

最后用css给circle填充颜色

PS:circle的起始点并不在12点钟的方向,而是在3点方向  所以需要Z轴旋转-90deg使其起始点对准12点方向。

相关文章

  • 使用svg画弧线的简易方法

    今天有一个需求需要根据进程画百分比弧度,一搜索度娘清一色的path路径,我知道path是万能的但是那些点的坐标计算...

  • svg path 画弧线

    svg用路径画弧线图,对于像我这样的初学菜鸟来说不太友好,看解释来说是挺费劲的,查百度的一般难以看懂,不够通俗易懂...

  • 钢笔工具怎么绘制弧线?AI钢笔工具用法全解

    弧线的方法有很多,比较常见的是使用钢笔工具画弧线,那么钢笔工具怎么绘制弧线?下面小编就为大家全解AI钢笔工具用法,...

  • 第七章 svg动画

    水平变化的动画 svg轨迹动画 让矩形沿着弧线运动---画出矩形和弧线 svg力导向图 突然感觉回到了高中时代 最...

  • 全屏组件

    使用方法 fullscreen.svg文件可放入 src/assets/icons/svg/fullscreen.svg

  • Svg 路径动画实现旋转进度条

    尝试使用 Svg 实现简易的动画效果。有关 Svg 的具体知识点不在此文赘述,仅就所举示例的需求点阐述实现思路。 ...

  • Quartz 2D & CoreAnimation

    1. 画弧线 坐标系: 例如: 结果: 使用以上两种画弧度的方法画出的线(即下面图中的表盘的线,实际为一段弧度很小...

  • Python:简易文件存储服务器

    Python内置了简易服务器,可作为简易的FTP使用。 使用方法(Mac):1.使用terminal或iTerm等...

  • SVG用法

    常见引入svg的方法 .svg文件的常见结构: html页面中绘制svg的常见方法: 关于SVG的viewBox:...

  • CGContextAddArc和UIBezierPath画弧参数

    画弧线方法 理解:方法中的startAngle,endAngle,clockwise是相对于数学坐标(x轴向右,y...

网友评论

    本文标题:使用svg画弧线的简易方法

    本文链接:https://www.haomeiwen.com/subject/kgfkkctx.html