首頁 > web前端 > H5教程 > HTML5 Canvas中使用路徑描畫二階、三階貝塞爾曲線_html5教學技巧

HTML5 Canvas中使用路徑描畫二階、三階貝塞爾曲線_html5教學技巧

WBOY
發布: 2016-05-16 15:46:51
原創
1292 人瀏覽過

在HTML5 Canvas中,可以用以下方法描畫三階與二階的貝塞爾曲線:


複製程式碼
程式碼如下:

context.bezierCurveTobez​​nx , cp2y, x, y)
context.quadraticCurveTo(cpx, cpy, x, y)

貝塞爾曲線是在二維平面上由一個“起始點”,一個“結束點”,以及一個或多個“控制點”定義的曲線。普通的三階貝塞爾曲線使用兩個控制點,而二階曲線則只使用一個控制點。

要描畫二階貝塞爾曲線,只要設定結束點的座標和控制點的座標即可:


複製程式碼
程式碼如下:

context.moveTo(00);
context.quadraticCurveTo(100,25,0,50);

程式碼執行結果如下:

上面範例中的曲線從座標(0,0)開始,到(0,50)結束,而用於控製曲線描繪的控制點的座標為(100,25)。

相較於二階曲線,由於可以設定兩個控制點,三階貝塞爾曲線的描畫較為靈活。下面的代碼描畫了一條”S”形的曲線:

複製代碼
代碼如下:

context.moveTo(150,0);
context.bezierCurveTo(0,125,300,175,150,300);

譯註1:關於貝塞爾曲線,可以參考Wikipedia上的條目(http://en.wikipedia.org/wiki/Bézier_curve),其中的動畫很好地詮釋了貝塞爾曲線的生成機制。

譯註2:目前HTML5 Canvas最高僅支援三階貝塞爾曲線,四階以上的曲線尚不支持。

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板