国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > WEB開發 > 正文

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

2024-04-27 14:59:33
字體:
來源:轉載
供稿:網友

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

  代碼如下:

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

  context.quadraticCurveTo(cpx, cpy, x, y)

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

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

  代碼如下:

  context.moveTo(0,0);

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

  代碼執行結果如下:

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

  上面例子中的曲線從坐標(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最高僅支持三階貝塞爾曲線,四階以上的曲線尚不支持


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 鲁甸县| 慈溪市| 株洲县| 通道| 临安市| 青铜峡市| 衡阳市| 台北县| 右玉县| 邮箱| 拉萨市| 睢宁县| 木兰县| 顺义区| 洪湖市| 东乡族自治县| 万荣县| 禹城市| 莎车县| 诏安县| 曲麻莱县| 调兵山市| 凌云县| 陇西县| 和政县| 会东县| 海原县| 惠东县| 祁东县| 龙口市| 额济纳旗| 舒城县| 芜湖市| 道孚县| 连云港市| 阜康市| 凌源市| 乡城县| 高雄市| 图木舒克市| 洪泽县|