SVG路径path的d属性怎么写 SVG path绘图教程

星降
发布: 2025-12-14 23:22:02
原创
672人浏览过
SVG的元素通过d属性实现灵活绘图,核心是理解M/L/H/V/Z等基础指令的坐标逻辑及C/Q/A等曲线指令的控制点机制,结合实践验证即可高效手写路径。

svg路径path的d属性怎么写 svg path绘图教程

SVG 的 <path></path> 是最强大也最灵活的绘图元素,它的核心就是 d 属性——一条由字母和数字组成的“绘图指令字符串”。写对 d,就能画出任意形状;写错一点,图形可能消失或变形。关键不是死记所有命令,而是理解坐标逻辑和常用指令的组合方式。

基础指令:M、L、H、V、Z 最常用

d 属性值是一系列命令(单字母)加参数(数字)的组合,大小写敏感:大写表示绝对坐标,小写表示相对坐标(相对于上一个点)。

  • M x y —— “Move to”,把画笔移到起点(不画线)。例如 M 10 20 表示从 (10,20) 开始绘图。
  • L x y —— “Line to”,画一条直线到 (x,y)。例如 M 10 10 L 50 10 L 50 50 画出直角折线。
  • H x —— 水平线(y 不变),V y —— 垂直线(x 不变)。比写全 L 更简洁。例如 M 0 0 H 100 V 50 H 0 Z 就是一个矩形。
  • Z —— 闭合路径,自动连回起点,不需参数。建议每个封闭图形末尾都加 Z(即使视觉上已闭合)。

曲线指令:C、S、Q、T 要分清控制点逻辑

贝塞尔曲线看着复杂,其实就两类:三次(C/S)和二次(Q/T),关键是控制点怎么影响曲线走向。

  • C x1 y1 x2 y2 x y:三次贝塞尔,(x1,y1) 是起点控制点,(x2,y2) 是终点控制点,(x,y) 是终点。控制点像“磁铁”拉扯曲线。
  • S x2 y2 x y:简写三次曲线,自动镜像前一个 C/S 的终点控制点作为当前起点控制点,适合连续平滑曲线。
  • Q x1 y1 x y:二次贝塞尔,只有一个控制点 (x1,y1),更易上手。弧度比三次更“圆润”。
  • T x y:简写二次曲线,自动镜像前一个 Q/T 的控制点,常用于对称曲线段。

小技巧:用在线工具(如 SVG Path Builder 或 Figma 导出)画好形状再看生成的 d 值,比纯手算更快理解控制点关系。

Musho
Musho

AI网页设计Figma插件

Musho 76
查看详情 Musho

弧线 A 指令:画圆、椭圆、饼图的关键

A rx ry x-axis-rotation large-arc-flag sweep-flag x y 这个指令参数多,但每项都有明确含义:

  • rx ry:椭圆的 X/Y 半径(决定弧是圆还是椭圆)。
  • x-axis-rotation:椭圆长轴旋转角度(通常为 0)。
  • large-arc-flag:0=小弧(≤180°),1=大弧(>180°)。
  • sweep-flag:0=逆时针画弧,1=顺时针画弧。
  • x y:弧线终点坐标。

例如画一个四分之一圆(从正左到正下):M 0 50 A 50 50 0 0 1 50 100。记住:改变 large-arc-flagsweep-flag 组合,同一组坐标能画出四种不同弧线。

实用建议:写 d 属性不靠硬背,靠拆解和验证

  • 从简单图形起步:先用 M→L→Z 画三角形/多边形,再加 Q 画圆角,最后尝试 AC
  • 空格和逗号可互换,但别混用;数字间有空格即可,不用逗号(如 M10 20L30 40 合法)。
  • 浏览器开发者工具里实时改 d 值,看图形变化——这是最快的学习方式。
  • 路径太长?用 pathtransformviewBox 缩放,比手动调所有坐标更高效。

基本上就这些。SVG path 的 d 属性不是编程语言,而是一套精炼的绘图协议。写熟 M/L/Q/A/C,90% 的图标、图表、动画路径都能自己手写出来,不依赖导出工具。

以上就是SVG路径path的d属性怎么写 SVG path绘图教程的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号