填充非凸 SVG 路径
Fill non-convex SVG path
我有一个非凸区域(由几个圆弧组成)并且想用一种颜色填充内部区域。但是,fill-属性 将改为填充外部,如图所示。我怎样才能实现内部填充?这是一个示例代码:
<path
id="curved_path"
style="stroke:#000000; stroke-width:0.2px; fill:none"
d="M 79, 66 c 0,0 -17,0 -17, 15
M 45, 66 c 0,0 17,0 17, 15
M 79, 66 c 0,0 -17,0 -17,-15
M 45, 66 c 0,0 17,0 17,-15"
/>
最终,我想编写一个脚本来绘制大量(可能数百万)这些弯曲的多边形。如果这在 SVG 中变得复杂,是否有其他语言或可编写脚本的工具可以更好地处理这些问题?
所有这些 M
命令都会创建单独的 subpaths 并独立填充。您需要将星星画成一条连续的路径:
<svg width="350" height="300" viewBox="45,51 35,30">
<path id="curved_path"
style="stroke:#000000; stroke-width:0.2px; fill:dodgerblue"
d="M 79,66 c 0, 0 -17, 0 -17, 15
c 0,-15 -17,-15 -17,-15
c 0, 0 17, 0 17,-15
c 0, 15 17, 15 17, 15"
/>
</svg>
我有一个非凸区域(由几个圆弧组成)并且想用一种颜色填充内部区域。但是,fill-属性 将改为填充外部,如图所示。我怎样才能实现内部填充?这是一个示例代码:
<path
id="curved_path"
style="stroke:#000000; stroke-width:0.2px; fill:none"
d="M 79, 66 c 0,0 -17,0 -17, 15
M 45, 66 c 0,0 17,0 17, 15
M 79, 66 c 0,0 -17,0 -17,-15
M 45, 66 c 0,0 17,0 17,-15"
/>
最终,我想编写一个脚本来绘制大量(可能数百万)这些弯曲的多边形。如果这在 SVG 中变得复杂,是否有其他语言或可编写脚本的工具可以更好地处理这些问题?
所有这些 M
命令都会创建单独的 subpaths 并独立填充。您需要将星星画成一条连续的路径:
<svg width="350" height="300" viewBox="45,51 35,30">
<path id="curved_path"
style="stroke:#000000; stroke-width:0.2px; fill:dodgerblue"
d="M 79,66 c 0, 0 -17, 0 -17, 15
c 0,-15 -17,-15 -17,-15
c 0, 0 17, 0 17,-15
c 0, 15 17, 15 17, 15"
/>
</svg>