SVG - 如何填充边框由贝塞尔曲线形成的多边形?

时间:2014-04-24 05:22:56

标签: javascript html svg d3.js

我想使用纯SVG创建类似下面的内容,但不使用 D3和弦或类似功能。

enter image description here

我可以使用标准路径元素在SVG中使用贝塞尔曲线创建多边形。但是不知道如何用自定义颜色填充多边形。如何定义此多边形的边界并设置填充属性?

分组可以帮助的任何想法?

1 个答案:

答案 0 :(得分:5)

如果要填充该区域,则应仅使用一个path元素。您可以将贝塞尔曲线链接在一起,以便从最后一条曲线开始。然后,将Z添加到路径数据的末尾以关闭路径。

<svg xmlns="http://www.w3.org/2000/svg" width="500" height="300">
    <path d="M480 150 C 300 200, 200 150, 20 200 C 15 150, 15 150, 20 100 C 200 100, 300 150, 480 150 Z" stroke="black" fill="red"></path>
</svg>

如果您知道所有终点和控制点应该去哪里,那么制作单独的路径并不困难。

如果你想要使用路径数据并查看链接是如何工作的,那么这里是FIDDLE