Canvas繪製虛線setLineDash

2021-09-12 16:12:08 字數 1015 閱讀 3779

呼叫函式setlinedash

void ctx.setlinedash(segments);

segments乙個array陣列。一組描述交替繪製線段和間距(座標空間單位)長度的數字。 如果陣列元素的數量是奇數, 陣列的元素會被複製並重複。例如, [5, 15, 25] 會變成 [5, 15, 25, 5, 15, 25]。

總結一下:

1 比如在第三條虛線中,pattern是[10,10]表示的是紅色框a內的實線長度為10,黃色框b內的空白部分長度為10,

2 解釋下如果陣列元素的數量是奇數, 陣列的元素會被複製並重複,例如, [5, 15, 25] 會變成 [5, 15, 25, 5, 15, 25]。因為虛線是週期性的,一般是實線和空白重複間隔出現,如果數量為奇數就會出現實線-空白-實線(第一次迴圈結束)-實線(第二次迴圈開始),這樣就不合理,所以後面會被複製乙份,變成實線-空白-實線-空白-實線-空白對應 [5, 15, 25, 5, 15, 25],這樣就合理了

canvas 繪製虛線

var mycanvas document.queryselector canvas 獲取上下文 var ctx mycanvas.getcontext 2d ctx.beginpath ctx.linewidth 5 ctx.moveto 200,200 ctx.lineto 450,200 ct...

html 虛線 canvas2D繪製虛線

要想在canvas 2d中繪製虛線有很多種方法,可以自己使用演算法實現,也可以使用原生的api。大概思路是 這裡只使用了勾股定理這乙個數學公式。效果 如果能將上面自己實現的虛線繪製功能繫結到canvas 2d的繪圖環境物件中那不是更好嗎?可以使用元程式設計來完成!由於虛線的起始點是通過呼叫movet...

繪製粗虛線

以前很少畫虛線,因此不太關心繪製粗虛線該怎麼辦。最近需要用到這個功能,因此學習了一下,與大家共享。cpen類有兩個建構函式,我們經常用第乙個,而忽略了第二個。其實很多問到畫粗線時希望改變線頭的預設顯示方式,比如希望是圓弧頭而不是預設的方形頭等。都可以用這個建構函式定義的cpen物件來實現。這裡我主要...