在HTML5 Canvas中,可以用以下方法描畫三階和二階的貝塞爾曲線:
貝塞爾曲線是在二維平面上由一個“起始點(diǎn)”,一個“結(jié)束點(diǎn)”,以及一個或多個“控制點(diǎn)”定義的曲線。普通的三階貝塞爾曲線使用兩個控制點(diǎn),而二階曲線則只使用一個控制點(diǎn)。
要描畫二階貝塞爾曲線,只需設(shè)置結(jié)束點(diǎn)的坐標(biāo)和控制點(diǎn)的坐標(biāo)即可:
代碼執(zhí)行結(jié)果如下:
上面例子中的曲線從坐標(biāo)(0,0)開始,到(0,50)結(jié)束,而用于控制曲線描繪的控制點(diǎn)的坐標(biāo)為(100,25)。
相比二階曲線,由于可以設(shè)置兩個控制點(diǎn),三階貝塞爾曲線的描畫更為靈活。下面的代碼描畫了一條”S”形的曲線:
譯注1:關(guān)于貝塞爾曲線,可以參考Wikipedia上的條目(http://en.wikipedia.org/wiki/Bézier_curve),其中的動畫很好地詮釋了貝塞爾曲線的生成機(jī)制。
譯注2:目前HTML5 Canvas最高僅支持三階貝塞爾曲線,四階以上的曲線尚不支持。
標(biāo)簽:鶴崗 撫順 內(nèi)蒙古 黃山 德州 辛集 蚌埠 楊凌
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《HTML5 Canvas中使用路徑描畫二階、三階貝塞爾曲線》,本文關(guān)鍵詞 HTML5,Canvas,中,使用,路徑,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。