HTML5 canvas中的路徑方法

2022-07-15 16:30:16 字數 2558 閱讀 2449

路徑方法

fill()                                填充當前繪圖(路徑)

stroke()                        繪製已定義的路徑

beginpath()                起始一條路徑,或重置當前路徑

moveto()                        把路徑移動到畫布中的指定點,不建立線條

closepath()                        建立從當前點回到起始點的路徑

lineto()                        新增乙個新點,然後在畫布中建立從該點到最後指定點的線條

clip()                                從原始畫布剪下任意形狀和尺寸的區域

quadraticcurveto(cpx,cpy,x,y)        建立二次貝塞爾曲線

quadraticcurveto() 方法通過使用表示二次貝塞爾曲線的指定控制點,向當前路徑新增乙個點。

二次貝塞爾曲線需要兩個點。第乙個點是用於二次貝塞爾計算中的控制點,第二個點是曲線的結束點。曲線的開始點是當前路徑中最後乙個點。如果路徑不存在,那麼請使用 beginpath() 和 moveto() 方法來定義開始點。

開始點:moveto(20,20)

控制點:quadraticcurveto(20,100,200,20)

結束點:quadraticcurveto(20,100,200,20)

cpx         貝塞爾控制點的 x 座標

cpy         貝塞爾控制點的 y 座標

x         結束點的 x 座標

y         結束點的 y 座標

beziercurveto(cp1x,cp1y,cp2x,cp2y,x,y)                建立三次方貝塞爾曲線

beziercurveto() 方法通過使用表示三次貝塞爾曲線的指定控制點,向當前路徑新增乙個點。

三次貝塞爾曲線需要三個點。前兩個點是用於三次貝塞爾計算中的控制點,第三個點是曲線的結束點。曲線的開始點是當前路徑中最後乙個點。如果路徑不存在,那麼請使用 beginpath() 和 moveto() 方法來定義開始點。

開始點:moveto(20,20)

控制點 1:beziercurveto(20,100,200,100,200,20)

控制點 2:beziercurveto(20,100,200,100,200,20)

結束點:beziercurveto(20,100,200,100,200,20)

cp1x         第乙個貝塞爾控制點的 x 座標

cp1y         第乙個貝塞爾控制點的 y 座標

cp2x         第二個貝塞爾控制點的 x 座標

cp2y         第二個貝塞爾控制點的 y 座標

x         結束點的 x 座標

y         結束點的 y 座標

arc(x,y,r,sangle,eangle,counterclockwise)                                建立弧/曲線(用於建立圓形或部分圓)

arc() 方法建立弧/曲線(用於建立圓或部分圓)。

如需通過 arc() 來建立圓,請把起始角設定為 0,結束角設定為 2*math.pi。

中心:arc(100,75,50,0*math.pi,1.5*math.pi)

起始角:arc(100,75,50,0,1.5*math.pi)

結束角:arc(100,75,50,0*math.pi,1.5*math.pi)

x         圓的中心的 x 座標。

y         圓的中心的 y 座標。

r         圓的半徑。

sangle         起始角,以弧度計。(弧的圓形的三點鐘位置是 0 度)。

eangle         結束角,以弧度計。

counterclockwise         可選。規定應該逆時針還是順時針繪圖。false = 順時針,true = 逆時針。

arcto(x1,y1,x2,y2,r)                        建立兩切線之間的弧/曲線

x1         弧的起點的 x 座標

y1         弧的起點的 y 座標

x2         弧的終點的 x 座標

y2         弧的終點的 y 座標

r         弧的半徑

ispointinpath()                如果指定的點位於當前路徑中,則返回 true,否則返回 false

HTML5 Canvas 教程 四 路徑

在html5畫布上繪製路徑,可以通過連線多個子路徑 曲線 實現。每個子路徑的結束點成為新的路徑的上下文點。我們可以使用lineto arcto quadraticcurveto 和beziercurveto 方法來繪製每個子路徑。每次開始繪製乙個新的路徑時,也可以使用beginpath 方法。id ...

HTML5 canvas 繪製圓形

canvas繪製圓形的思路 1 建立路徑 beginpath 2 建立圓形的路徑 3 關閉路徑 closepath 路徑不關閉也能繪製出圖形 4 設定繪製樣式。建立圓形路徑時需要用到物件的arc方法,方法定義如 arc x,y,radius,startangle,endangle,countercl...

HTML5 canvas擦除無效

部分安卓手機上會出現canvas內圖表重疊,並且清除無效,屬於偶現缺陷,非常難以確定其產生原因,比如下圖這個樣子,第一次繪製的圖形沒有擦除,導致第二次繪製時出現重影 初步考慮為裝置自身問題,引起canvasapi的context.clearrect執行無效。在經過一些嘗試之後,發現在每次擦除 cle...