2013-04-09 24 views
7

我正在使用Rafael.js在圖像上繪製矩形。我設置筆畫顏色的問題是背景可能暗或淺或任何顏色。我認爲處理這個問題的最好方法是使用虛線。然而,這個電話使用Rafael.js繪製帶有虛線的矩形

circle = Canvas.paper.rect(left, topCoord, width, height).attr({stroke-dasharray:"---"}); 

不起作用。 Firebug(在FireFox 20.0上)返回一條錯誤消息,指出我的.js文件中的現有函數不存在。看來stroke-dasharray對矩形無效。

回答

8

基本JavaScript錯誤:

{stroke-dasharray:"---"} 

應該是:

{"stroke-dasharray":"---"} 

另外:"---"不是stroke-dasharray支持的值;它應該是:

{"stroke-dasharray":"--"} 
+0

謝謝。這使得錯誤消失,但我仍然得到矩形的黑色實線。謝謝,彼得。 – OtagoHarbour 2013-04-09 21:21:59

+1

看看[拉斐爾參考](http://raphaeljs.com/reference.html)我不認爲三破折號是一個有效的選項。試試兩個:'' - 「' – searlea 2013-04-09 21:26:31

+0

這可以用於獲取虛線。非常感謝!爲了得到兩種不同的顏色,我似乎需要兩次調用:一次使用{「stroke-dasharray」:「 - 」},另一次使用{「stroke」:「white」,「stroke-dasharray」:「 - ..」 }。非常感謝! – OtagoHarbour 2013-04-09 21:44:46

9

否「---」,可能行程dasharray:[「」, 「-」, 「.」, 「-.」, 「-..」, 「. 」, 「- 」, 「--」, 「- .」, 「--.」, 「--..」]

的一種方式,以色筆畫是使用HSV或HSL空間,然後選擇相反的(或附近)譜。試試從以下答案:Given an RGB value, how do I create a tint (or shade)?

+0

有趣。我認爲理想將是與基礎形象進行異或,但拉斐爾似乎沒有這種選擇。謝謝,彼得。 – OtagoHarbour 2013-04-10 13:37:21

+0

某些瀏覽器可以支持操作來創建圍繞它的輝光。嘗試http://commons.oreilly.com/wiki/index.php/SVG_Essentials/Filters – 2013-04-10 19:50:58