2017-07-27 90 views
2

我正在使用svg.jssvg.draw.js製作一個非常簡單的設計工具,其中用戶使用直線,多段線,矩形和自由繪圖進行簡單設計。 svg.draw.js是svg.js的擴展,允許用鼠標繪製元素。無法使用svg.draw.js繪製路徑

現在讓我們來看一個非常簡單的例子。如果我們想使任何形狀使用svg.js(如多段線),我們簡單地這樣做:

var draw = SVG('drawing').size(300, 300) 
 
draw.polyline('0,0 100,50 50,100').fill('none').stroke({color:'blue'})
<script src="https://cdnjs.cloudflare.com/ajax/libs/svg.js/2.6.3/svg.js"></script> 
 
<div id="drawing"> 
 
</div>

要繪製此折線鼠標,我用svg.draw .js文件。它非常容易,我們只需要在上面的代碼片段末尾包含draw()函數。另外,我們也不必在draw.polyline()函數中給出任何參數。

var draw = SVG('drawing').size(300, 300); 
draw.polyline().fill('none').stroke({color:'blue'}).draw() 

通過包括svg.draw.js庫和Draw()函數在結束時,你就可以通過鼠標來創建一個折線。演示轉到link

問題:現在你看,通過增加draw()我們可以通過鼠標點擊創建所有svg elements。通過使用相同的策略,我想要做自由手繪。我正在使用路徑 svg元素,但它不適合我。

draw.path().stroke({color:'blue'}).draw() 

上面一行是給這個錯誤:enter image description here

如果svg.draw.js被支撐矩形(draw.rect()),折線(draw.polyline())等那麼爲什麼不路徑?我想創建類似this,但這個免費的手繪圖片段是在d3.js ,我想用svg.draw.js來做。任何幫助都感激不盡。

+0

路徑比多邊形複雜得多。你需要支持acrs和beziere曲線。它可能會在未來添加,但不要指望它 – Fuzzyma

回答

1

您只能通過鼠標繪製線條,矩形或圓形等,如您所述使用此庫。 svg.draw.js不要有什麼像Draw.path()