1

我正在尝试在 javascript 中实现一个简单的绘画工具,用于在 SVG 上徒手绘制。对于自由手,我在绘图时使用折线,一旦绘图完成,我会尝试用它制作一条曲线,就像谷歌绘图一样平滑曲线。当然,到目前为止,我还没有设计出一个很好的平滑逻辑,甚至没有尝试过。我目前使用的是在折线的每四个点中取一个来创建一条曲线。这可能是一个不好的方法,但这是我认为值得尝试的第一件事。

<path stroke="black" opacity="1" stroke-width="10" shape-rendering="geometric-precision" fill="none" d="M 1452 559 C 1452 556 1317 518 1308 521 1296 528 1289 537 1281 542 1277 549 1272 559 1267 566 1265 578 1265 585 1263 592 1263 599 1260 606 1258 616 1253 627 1248 639 1244 656"> </path>

但是在 chrome 中我收到了这个错误 Problem parsing d="M 1452 559 C 1452 ... 但它正在渲染 SVG 上的所有内容。我只想知道为什么会这样,而且只在 chrome 中。

4

1 回答 1

1

这不是铬的错误。贝塞尔曲线需要 2 个控制点和终点,即除起点外最少有 3 个点,对于曲线序列,点数应为 3 的倍数,以曲线的起点为终点以前的。
当点不是 3 的倍数时,chrome 会抛出错误但仍会渲染它。

于 2013-01-26T09:47:35.240 回答