2012-08-08 120 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