2013-04-09 39 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