2013-01-02 31 views
1

我正嘗試在JavaScript中實現一個簡單的繪畫工具,用於通過SVG進行徒手繪製。對於自由手,我在繪圖時使用了折線,並且一旦繪製完成,我正在嘗試爲曲線繪製曲線,就像谷歌繪製曲線一樣平滑。 當然,我還沒有設計出一個很好的平滑邏輯,甚至到目前爲止還沒有嘗試過。我目前使用的是在多段線的每四個點中取一個來創建一條曲線。這可能是一個糟糕的做法,但這是我認爲值得嘗試的第一件事。在Chrome中解析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>

但在鉻我得到這個錯誤 Problem parsing d="M 1452 559 C 1452 ... 但它呈現在SVG的一切。我只想知道它爲什麼會發生,只有在鉻。

+0

報告鉻錯誤?另外,它應該是'shape-rendering =「geometricPrecision」',見http://www.w3.org/TR/SVG11/painting.html#ShapeRenderingProperty。 –

+0

@ErikDahlström我還沒有。將現在報告並感謝更正。 – Prakash

+0

@ErikDahlström你可以在我的另一個問題上幫我:http://bit.ly/TxYanQ – Prakash

回答

1

這不是鉻的錯誤。貝塞爾曲線需要2個控制點和終點,這意味着除了起點以外最少3個點,對於一系列曲線,點的數量應該是3的倍數,因爲曲線的起點是終點以前。
當點不是3的倍數時,chrome拋出一個錯誤,但仍然呈現它。