這用於繪製橢圓方法似乎是清潔和雅緻:http://www.williammalone.com/briefs/how-to-draw-ellipse-html5-canvas/Bezier曲線繪製拉伸橢圓在HTML5畫布
然而,在測試它,我發現所得橢圓被拉伸。設置寬度和高度相等,我得到的橢圓比寬度高大約20%。這裏的結果與width = height = 50
:
爲了確保該問題是與方法本身,我試圖改變使得用於貝塞爾曲線的所有點都旋轉90度的算法。其結果是:
同樣,在這兩種情況下,我期待一個50×50圈。使用How to draw an oval in html5 canvas?中描述的arc
方法可以正常工作,生成完美的50x50圓(然後可以使用scale
將其拉伸爲橢圓)。
發生了什麼事?
更不用說構建Bezier曲線的弧線需要CPU時間的一小部分。 – Blindy 2011-04-17 16:58:38
這樣做很直觀,但是你能否引用來源? – 2011-04-17 17:03:04
我不建議使用** arc **函數,如果您要對橢圓進行轉換。你需要堅持4或8立方曲線....因爲他們將能夠正確處理轉換 – Alex 2012-04-04 10:34:07