我正在使用svg.js和svg.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()
如果svg.draw.js被支撐矩形(draw.rect()
),折線(draw.polyline()
)等那麼爲什麼不路徑?我想創建類似this,但這個免費的手繪圖片段是在d3.js ,我想用svg.draw.js來做。任何幫助都感激不盡。
路徑比多邊形複雜得多。你需要支持acrs和beziere曲線。它可能會在未來添加,但不要指望它 – Fuzzyma