關(guān)于直接用lineTo繪制封閉圖形時(shí)的缺口的問題
請問如果繪制的時(shí)候的點(diǎn),是粗線條的中點(diǎn)的話,為什么直接用lineTo到起點(diǎn)時(shí),只有起點(diǎn)和終點(diǎn)處有缺口,下面卻沒有缺口呢?
請問如果繪制的時(shí)候的點(diǎn),是粗線條的中點(diǎn)的話,為什么直接用lineTo到起點(diǎn)時(shí),只有起點(diǎn)和終點(diǎn)處有缺口,下面卻沒有缺口呢?
2015-11-04
舉報(bào)
2015-11-12
這是由canvas的樣式?jīng)Q定的,當(dāng)你lineTo回到起點(diǎn)時(shí),canvas可不會(huì)認(rèn)為你這條線是跟起點(diǎn)是連起來的,而是認(rèn)為你這條線跟起點(diǎn)重合了,所以不會(huì)產(chǎn)生轉(zhuǎn)角樣式,簡單的講,就是斷了。如果要解決這個(gè)問題,很簡單:
當(dāng)你接下來是要lineTo到起點(diǎn)的時(shí)候,直接
封閉路徑后再執(zhí)行stroke()函數(shù),這樣的話,canvas會(huì)自動(dòng)把終點(diǎn)和起點(diǎn)連在一起并且創(chuàng)造轉(zhuǎn)角樣式;
一般來說,畫三角形只需要moveTo起點(diǎn),lineTo第一個(gè)點(diǎn),lineTo第二個(gè)點(diǎn),closePath封閉路徑,stroke執(zhí)行劃線,就可以了