2013-08-17 74 views
1

爲什麼有從0到360的360度弧在360度帆布弧間隙

ctx.beginPath(); 
ctx.moveTo(100, 100); 
ctx.arc(100, 100, 100, 90 * Math.PI/180, 450 * Math.PI/180); 

和電弧的縫隙都沒有

ctx.beginPath(); 
ctx.moveTo(310, 100); 
ctx.arc(310, 100, 100, 0 * Math.PI/180, 360 * Math.PI/180); 

http://jsfiddle.net/YMtdZ/4/
這是一個錯誤或我米做錯了什麼?

回答

2

Chrome對於畫布的弧方法有幾個問題。

您可以通過輕推角度有點像這樣解決在Chrome這個問題:

ctx.arc(100, 100, 100, 90 * Math.PI/180.01, 450 * Math.PI/180.01); 

Updated Fiddle

1

這不是一個錯誤,只是一個反鋸齒的怪癖。 Chrome似乎是方式其抗鋸齒過於精確,因此在某些情況下會出現小的間隙。

FF和IE10上不會發生這種情況。