欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

HTML5 Canvas中使用路徑描畫二階、三階貝塞爾曲線

  發(fā)布時間:2015-01-01 14:41:29   作者:佚名   我要評論
這篇文章主要介紹了HTML5 Canvas中使用路徑描畫二階、三階貝塞爾曲線,本文給出實現(xiàn)代碼、效果圖例和解釋說明,需要的朋友可以參考下

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


復制代碼
代碼如下:

context.bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y)
context.quadraticCurveTo(cpx, cpy, x, y)

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

要描畫二階貝塞爾曲線,只需設(shè)置結(jié)束點的坐標和控制點的坐標即可:


復制代碼
代碼如下:

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

代碼執(zhí)行結(jié)果如下:

上面例子中的曲線從坐標(0,0)開始,到(0,50)結(jié)束,而用于控制曲線描繪的控制點的坐標為(100,25)。

相比二階曲線,由于可以設(shè)置兩個控制點,三階貝塞爾曲線的描畫更為靈活。下面的代碼描畫了一條”S”形的曲線:

復制代碼
代碼如下:

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

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

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

相關(guān)文章

  • 使用canvas繪制貝塞爾曲線

    這篇文章主要介紹了使用canvas繪制貝塞爾曲線,包括2次和三次的凡賽爾曲線,非常的詳細,推薦個小伙伴。
    2014-12-17
  • 用html5的canvas畫布繪制貝塞爾曲線完整代碼

    html5的canvas很強大利用其畫布可輕松繪制貝塞爾曲線,為大家以后使用方便,特于此分享實現(xiàn)代碼,有此需求的朋友可以參考下
    2013-08-14
  • canvas仿寫貝塞爾曲線的示例代碼

    這篇文章主要介紹了canvas仿寫貝塞爾曲線的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-12-29

最新評論