[翻译svg教程]Path元素 svg中最神奇的元素!

简介: 先看一个实例   效果图 看效果图有两条直线和一条曲线 但是代码里面只有一个path 是不是很神奇! 在path 元素中,所有和绘制有关的命令都在d这个属性中 在实例中 M 表示移动画笔的命令 A 表示用...

先看一个实例

<svg xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink">

    <path d="M50,50
             A30,30 0 0,1 35,20
             L100,100
             M110,110
             L100,0"
          style="stroke:#660000; fill:none;"/>    
</svg>

 

效果图

看效果图有两条直线和一条曲线 但是代码里面只有一个path 是不是很神奇!
在path 元素中,所有和绘制有关的命令都在d这个属性中
在实例中  M 表示移动画笔的命令
         A 表示用画笔画圆的命令
         L 表示用画笔画直线的命令

设置和移动画笔

在绘制时候,第一个命令永远都是 M 移动命令,你想要绘制任何图形,首先你要移动画笔到某一个地方,M命令就是移动的命令

例如这个例子

<svg xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink">

    <path d="M50,50"
          style="stroke:#660000; fill:none;"/>
</svg>

 

这个例子把画笔移动到了50,50这点,下次绘制将从此开始。

画直线

我的智商只会画直线,所以先看看如何画直线

画直线也是在path中最简单的命令,用L或者l就可以画直线

例如

<svg xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink">

    <path d="M50,50
             L100,100"
          style="stroke:#660000; fill:none;"/>
</svg>
这个例子从50 50 这点开始画线到100,100这点结束,效果图如下
大些L和小写的L的区别在哪呢
L 是绝对定位
l 是相对定位

绘制中需要移动画笔

绘制的图形总是从上一次结束的那个点开始绘制,链接到新的点,每一个绘制命令都是执行一个绘制命令后,拿到一个结束的点,画笔绘制移动到最后的一个点上,下一次绘制将从这个点开始。

画弧线

通过path 元素画圆,使用命令 A或者a,和画线类似,A表示绝对坐标   a表示 相对坐标

例如

<svg xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink">

    <path d="M50,50
             A30,50 0 0,1 100,100"
          style="stroke:#660000; fill:none;"/>
</svg>

结果如下

image

 

这个例子 从点 50,50 到点100,100 画了个曲线(圆的一部分)

A30,50 0 0,1 100,100 这几个参数含义的解释

第一个参数:rx (radius in x-direction) x方向的半径

第二个参数:ry (radius in y-direction) y方向的半径

如果两个参数一样的话就是 圆弧  如果不相等就是椭圆弧

第三个参数:x-axis-rotation   个人理解是内弧线还是外弧线,内弧线面积值为0 外弧线值为1

第四个参数:large-arc-flag determines whether to draw the smaller or bigger arc satisfying the start point

第五个参数sweep-flag  个人理解 相对平滑的弧线开关 就是一个圆分两半 选择弧线平滑的方向

代码如下

<path d="M40,20  A30,30 0 0,0 70,70"
    style="stroke: #cccc00; stroke-width:2; fill:none;"/>
黄色
<path d="M40,20  A30,30 0 1,0 70,70"
    style="stroke: #ff0000; stroke-width:2; fill:none;"/>
红色
<path d="M40,20  A30,30 0 1,1 70,70"
    style="stroke: #00ff00; stroke-width:2; fill:none;"/>
绿色

<path d="M40,20  A30,30 0 0,1 70,70"
    style="stroke: #0000ff; stroke-width:2; fill:none;"/>
蓝色

效果如下

image

太复杂了晕了。。。。

还有更复杂的,我看晕了。。。

http://tutorials.jenkov.com/svg/path-element.html

test
相关文章
|
8月前
|
缓存 监控 算法
淘宝商品详情 API 接入全流程实战指南 (附完整代码)
item_get 是淘宝开放平台提供的核心商品详情查询接口,支持通过商品 ID(num_iid)获取淘宝/天猫商品的完整结构化数据,包括:
|
编解码 算法
信号分析中的经验模态分解和希尔伯特变换
信号分析中的经验模态分解(EMD) 和希尔伯特变换(HT) 是处理非线性、非平稳信号的强大工具。它们共同构成了希尔伯特-黄变换(Hilbert-Huang Transform, HHT) 的核心。
|
9月前
|
人工智能 自然语言处理 运维
企业数据分析系统建设费用,2026年降本增效的三大趋势
2026年,数据分析系统成企业降本增效战略刚需。全球投资达3850亿美元,中国占比超620亿美元(+18.7%)。瓴羊Quick BI以AI原生架构、“智能小Q”自然语言分析、多源实时接入及SaaS/私有化/混合云灵活部署,助力企业实现低门槛、高ROI的数据智能转型。(239字)
企业数据分析系统建设费用,2026年降本增效的三大趋势
|
10月前
|
人工智能 搜索推荐 程序员
AI的"瑞士军刀":让ChatGPT自己学会用工具的黑科技
想象AI不再只会"背书",还能像程序员一样边思考边用工具?ART框架让大模型自动学会分步推理和工具使用,就像给ChatGPT装上了"智能外挂"。不需要重新训练,只需一个任务库就能让AI变身全能助手,搜索、编程、计算样样精通。#人工智能 #工具使用 #自动推理 #大模型
420 1
|
10月前
|
人工智能 自然语言处理 数据安全/隐私保护
中国AI数字人市场全景透视:数字人技术、应用场景与企业竞争力分析
AI数字人融合多技术,具拟人外观、智能交互与专业服务能力,按成熟度分四级,广泛应用于各行业。当前,中国AI数字人市场已形成以技术实力型、生态赋能型、垂直创新型为代表的企业格局,助力企业降本增效、提升服务与体验。
854 0
|
10月前
|
算法 5G 定位技术
UWB定位技术原理:亚米级定位的实现逻辑详解
UWB(超宽带)技术通过纳秒级窄脉冲实现亚米级高精度定位,具备抗干扰、穿透性强、低功耗等优势。其核心原理基于飞行时间(TOF)、到达时间差(TDOA)和双向测距(TWR),结合多基站协同与算法优化,广泛应用于工业、医疗等高精度场景,并与蓝牙融合形成互补方案。如果您想进一步了解定位的案例,欢迎关注、评论留言~也可搜索lbs智能定位。
|
传感器 编解码 数据挖掘
ASTER 全球数字高程模型 V003
ASTER全球数字高程模型V003(ASTGTM)由NASA与日本METI合作生成,覆盖北纬83°至南纬83°,空间分辨率约30米。基于2000–2013年ASTER立体影像自动处理,融合超188万场景,优化水体与地形精度,提供DEM与场景数量图层,数据无显著空隙,适用于多领域地形分析。
748 7
|
JSON API 调度
Midjourney 技术拆解与阿里云开发者实战指南:从扩散模型到 API 批量生成
Midjourney深度解析:基于优化Stable Diffusion,实现文本到图像高效生成。涵盖技术架构、扩散模型原理、API调用、批量生成系统及阿里云生态协同,助力开发者快速落地AIGC图像创作。
1424 0
|
人工智能 缓存 搜索推荐
大模型应用联网搜索:重塑智能时代的交互与决策
本文将从这一核心问题出发,解析大模型应用联网搜索的颠覆性价值,剖析其如何解决传统模型的局限。
1225 20
|
人工智能 PyTorch TensorFlow
MindIE+MindFormers推理方案指导
本文介绍了昇腾大模型推理解决方案MindIE+MindFormers.
MindIE+MindFormers推理方案指导

热门文章

最新文章