我创建了这个svg:https://svgshare.com/i/5z1.svg
如果您查看来源,则可以看到每条路径都是
<path stroke="black" stroke-width="10" fill="#666" d="M318237,48823 L321987,48823 M321987,48823 L321987,47323 M321987,47323 L318237,47323 M318237,47323 L318237,48823 Z" />
然而,svg仍然只有细线,每个矩形路径仍未填充。有没有办法在不将路径转换为矩形的情况下执行此操作?
答案 0 :(得分:2)
我相信你的路径没有关闭,因此无法填补。
让我们看一个路径定义:
M318237,48823 L321987,48823 M321987,48823 L321987,47323 M321987,47323 L318237,47323 M318237,47323 L318237,48823 Z
每个M
表示移动到某个点,L
表示将一条线绘制到指定点。 Z
表示关闭当前子路径。
以M
开头的任何内容都会启动一个新的子路径。例如:
M318237,48823 L321987,48823
是绘制线的子路径
M321987,48823 L321987,47323
绘制另一条线,但不将其连接到上一个子路径,从而创建一个未闭合的路径。它应该是:
M318237,48823 L321987,48823 L321987,47323
等等。
全封闭路径:
<path stroke="black" stroke-width="10" fill="#666" d="M318237,48823 L321987,48823 L321987,47323 L318237,47323 L318237,48823 Z" />
最后一行L318237,48823
可以省略,因为这就是Z
所做的事情。
使用H
和V
命令也可以简化定义,因为您只有直线水平/垂直线。