canvas畫圓環 二 之多色間隔

2021-09-02 11:50:14 字數 580 閱讀 1139

通過canvas畫可自定義顏色段的圓環,可當進度條使用,本文章做了簡單的封裝可直接使用,也可自定義更改。

同上篇,需要設定外層的item-canvas的寬高,內層canvas會設定成和外層一樣。

定義函式

function process() 

//此處為每格多出來的部分

if (ring.percent % 10 !== 0) } }

簡單封裝

顏色可以從函式拿出來在外面定義每格的顏色。

var divitem = document.queryselector(".item-canvas");

var canvasw = divitem.offsetwidth;

var canvash = divitem.offsetwidth;

process()

效果圖如下:

Canvas非覆蓋畫圓環扇形

需求最優解 嘗試丟擲問題 基本都是畫餅狀然後中心覆蓋乙個圓,可是我需要的是透明非覆蓋的乙個圓環扇形整體,動手吧。嘗試的辦法有以下幾種 畫兩個同角度的餅狀扇形,利用source in source out xor去重的功能,填充非重疊部分。還是畫兩個餅狀扇形,然後利用奇偶環繞fill evdodd 填...

UIView畫圓 切圓環

對於一些圓,或者圓環我們可以用uiview進行切出來。案例 原圖 效果圖 主要 如下 設定圓環 self.pointview.layer.cornerradius 11 設定圓形的程度 self.pointview.layer.maskstobounds yes 設定是否切圓 self.pointv...

使用svg畫圓環

專案中需要乙個圓形進度條,本著能省則省的原則,先去elementui上看了下,傻眼了,不一樣,ui直接否定了這個辦法。這個沒啥難點,cx,cy,r分別表示圓心 x,y 和半徑r,stroke width是圓的邊,stroke表示邊的顏色,fill表示整個圓的填充顏色。其實就是兩個同心圓,裡面的圓的邊...