请马上登录,朋友们都在花潮里等着你哦:)
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 马黑黑 于 2022-9-9 09:10 编辑
先了解 svg 路径的语法结构:
<path d="路径描述" ... />
其中,d 是一个关键属性,用以描述路径。比如一条高度为100个像素单位的竖线:
d="M 20 30 V 130"
再如一条长度为200的横线:
d="M 20 10 H 220"
上述路径的指令中,M 表示 MoveTo,移动到的意思。它表示画笔的起笔处,也是要画的图形的起点,后面带的两个数字是起点的(x,y)坐标点。V 表示画竖线,H 表示画横线,上面的例子都用了大写字母,表示使用的是绝对路径:它针对 svg 左上角坐标(0,0)而言,坐标系以此为基准。例中,V 和 H 仅需要一个对应的坐标,V画的是竖线,需要的是线条终点的Y坐标,即参照从Y坐标 0 到Y坐标的什么地方;H画横线,仅需要线条终点的X坐标,即参照X坐标 0 画到X坐标的什么地方。V 和 H 还可以使用小写方法,小写时,是相对路径,相对路径以上一次画笔所在的位置为基准绘制小写指令的图形。
请看例子:
<svg style="border: 1px solid;"> <path d="M 50 20 H 250" stroke="green" /> <path d="M 50 40 h 200" stroke="red" /> </svg>
效果:
两条线长度一样,但 H 所带的终点坐标值和 h 所带的终点坐标值不一样,试细细比较、理解。
我们再添加两条线,这是折线,在自己尝试之前根据代码想象一下折线部分的朝向与长度:
<path d="M 50 60 h 220 V 20" fill="none" stroke="purple" /> <path d="M 50 80 h 220 v 20" fill="none" stroke="purple" />
然后尝试去理解 V 和 v 产生的折线为什么区别如此之大。 |