canvas 圓形進度條

2021-10-01 12:26:49 字數 2404 閱讀 3133

"canvas" width=

"800" height=

"800" style=

"border:1px solid #ccc"

>

<

/canvas>

const can = document.

getelementbyid

('canvas');

const van = can.

getcontext

('2d');

let currentdeg =0;

// 度從0開始

// 先繪製背景,這裡只繪製一次,跟水平進度條不一樣呢

drawcircle()

;drawarc

(currentdeg++);

function

drawarc

(deg),10

)}}function

drawcircle()

<

/script>

"canvas" width=

"500" height=

"500" style=

"background:#000;"

>

<

/canvas>

window.

onload

=function()

//繪製白色外圈

function

whitecircle()

//百分比文字繪製

function

text

(n)//動畫迴圈

(function

drawframe()

());

}

="process" width=

"48px" height=

"48px"

>61%

<

/canvas>

function

drawprocess()

="time-graph"

>

"time-graph-canvas" width=

"160" height=

"160"

>

<

/canvas>

<

/div>

.time-graph

#time-graph-canvas

drawmain

(drawing_elem, percent, forecolor, bgcolor)

//繪製運動圓環

function

foregroundcircle

(n)//繪製文字

function

text

(n)//執行動畫

(function

drawframe()

());

},var time_canvas = document.

getelementbyid

("time-graph-canvas");

this

.drawmain

(time_canvas,70,

"#85d824"

,"#eef7e4");

var weather_canvas = document.

getelementbyid

("weather-graph-canvas");

this

.drawmain

(weather_canvas,90,

"#2ba0fb"

,"#e5f1fa"

);

"runcanvas" id=

"runcanvas"

class

='canvas'

>

<

/canvas>

const ctx2 = wx.

createcanvascontext

(id)

;wx.

createselectorquery()

.select

('#'

+id)

.boundingclientrect

(function

(rect)).

exec()

;run

(c, w, h)

,canvastap

(start, end, time, w, h)

that.

run(start, w, h)

;//呼叫run方法

settimeout

(function()

, time);}

,

canvas圓形進度條

canvas中沒有直接繪製圓的方法,但有乙個繪製弧線的context.arc方法,下面講下用該方法如何繪製出效果。引數說明 看到這裡,大家就會明白怎麼畫圓了把,只要讓起始角和結束角度為乙個圓周就可以了。下面開始畫圖咯!環形進度條主要兩部分組成,一是灰色圓,另一是藍色弧度。也就是說灰色圓圈和藍色弧同圓...

圓形進度條

public class circleprogress extends view public int getmheight public void setmheight int mheight public int getmwidth public void setmwidth int mwidt...

使用canvas畫圓形(弧形)進度條

效果如下 可以展示整個圓 半圓以及任意角度弧形 左右對稱 的進度條。整體思路如下 完整 如下 關於動畫部分,可以使用requestanimationframe做優化,函式改寫如下 function draw percent,sr if sr math.pi 2 sr 3 2 math.pi var ...