2012-08-08 159 views
4

当我使用下面的代码绘制一个简单的矩形时,底部和右边缘边框比顶部和左边缘边框更厚。为什么是这样,我能阻止它吗?Raphael矩形边框

var paper = Raphael(10, 50, 500, 500); 
var rect = paper.rect(100, 100, 100, 100); 
+0

您是否正在使用旧版Chrome浏览器,如果没有,您使用的是哪种浏览器?我无法重现您描述的问题。 – 2012-08-08 17:14:36

+0

@KevinNielsen我使用Chrome版本18,但我也在FF 10.0.4中看到它。 – benshort 2012-08-08 19:53:40

+0

我有同样的问题 – Muhammed 2013-02-10 22:30:27

回答

6

您的矩形的顶部和左边界使用默认的1像素笔画宽度,正好落在SVG元素的顶部和左边界上(如由Raphael paper对象表示)与基于像素的绘制解决方案,这意味着该行基本上跨越元素的边界,导致您的边界行程的0.5像素被剪辑。

要解决,只需简单地移动绘图或移动SVG元素坐标的起始偏移量。

这里是一个小提示,显示one solution

0

方看起来好像没什么问题:http://jsfiddle.net/cMXBC/2/

你可以有一些恶意的CSS的地方,正在修改矩形的行程?尝试右键单击正方形并在Firebug中检查矩形或使用Chrome检查器查看是否添加了任何样式。

+0

奇怪的是,小提琴看起来不错。 但我在这里看到问题:http://jsfiddle.net/cMXBC/12/ – benshort 2012-08-08 19:51:10