形成封闭路径的 UIBezierPath 子路径不能在 SVG 中表示

UIBezierPath subpaths which forms closed path cannot be represented in SVG

我需要将 UIBezierPath 转换为 SVG。 我的 UIBezierPath 内部有集合立方贝塞尔曲线路径作为子路径。 这些子路径一起形成一个闭合路径,这意味着最后一个立方贝塞尔曲线的终点与第一个立方贝塞尔曲线的起点相同。

当我用一些填充颜色在 CAShapeLayer 上绘制这条路径时,整个路径正确地填充了给定的颜色。

现在,我需要在 SVG 中模拟相同的行为(在 webview 中加载),问题是子路径在 svg 中是独立的,我无法将它们组合(分组)到单个路径中,因此我们丢失了此路径集合已关闭且因此无法填充的上下文信息。

我试图将这些 svg cubic-beizer 路径放在 g 元素中,但也没有用。如下图

<g>
<path  d="M1013.3,1228.7 C1007.1,1238.4 991.4,1242.6 984.2,1242.6" />
<path  d="M984.2,1233.6 C995.1,1237.3 1008.3,1231.7 1013.2,1231.7" />
<path  d="M1013.2,1221.3 C1018.0,1210.9 1013.8,1197.1 1004.0,1197.1" />
</g>

我该如何解决这个问题?任何输入表示赞赏。

谢谢,

我不太明白,但是您可以在同一条曲线中使用任意多条贝塞尔曲线路径。这是一个方法:http://jsfiddle.net/74os2um3/

放在一个<path>里加一个Z就可以关闭了

<path  d="M1013.3,1228.7 C1007.1,1238.4 991.4,1242.6 984.2,1242.6 L984.2,1233.6 C995.1,1237.3 1008.3,1231.7 1013.2,1231.7 L1013.2,1221.3 C1018.0,1210.9 1013.8,1197.1 1004.0,1197.1 Z" />