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

首頁(yè) > 編程 > HTML > 正文

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

2020-03-24 15:51:15
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

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

  代碼如下:

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

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

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

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

  代碼如下:

  context.moveTo(0,0);

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

  

神馬影院[www.aikan.tv/special/shenmayingyuan/]代碼執(zhí)行結(jié)果如下:

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

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

  相比二階曲線,由于可以設(shè)置兩個(gè)控制點(diǎn),三階貝塞爾曲線的描畫更為靈活。下面的代碼描畫了一條”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),其中的動(dòng)畫很好地詮釋了貝塞爾曲線的生成機(jī)制。

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

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 隆尧县| 和政县| 布拖县| 吴忠市| 藁城市| 肃南| 武乡县| 甘孜县| 抚宁县| 庆元县| 吴旗县| 阿瓦提县| 南乐县| 大关县| 长白| 邯郸市| 汾阳市| 太和县| 灵璧县| 肥乡县| 松桃| 思南县| 奉贤区| 澜沧| 七台河市| 平顶山市| 新河县| 忻城县| 梨树县| 南部县| 宽甸| 西乌| 永仁县| 新绛县| 南安市| 南通市| 陆川县| 平遥县| 桂阳县| 民乐县| 金华市|