uniapp实现环形进度条
代码
<canvas style="width: 84px; height: 84px;" canvas-id="circlefCanvas" id="circlefCanvas"></canvas>
/**
* 环形进度条
* arc(x, y, r, startAngle, endAngle, anticlockwise):
* 以(x, y) 为圆心,以r 为半径,90°代表0.5 * PI
* 从 startAngle 弧度开始到endAngle弧度结束。
* anticlosewise 是布尔值,true 表示逆时针,false 表示顺时针(默认是顺时针
*/
const circleProgressbar = (score: string, value: number) => {
// 画整个圆环
const ctx = uni.createCanvasContext('circlefCanvas')
ctx.beginPath()
ctx.arc(42, 42, 30, 0, 2 * Math.PI) // 42为canvas宽度一班代表居中
ctx.setStrokeStyle('#FAF7F7')
ctx.setLineWidth(5)
ctx.stroke()
// 进度
ctx.beginPath()
ctx.arc(42, 42, 30, 0, 1.5 * Math.PI)
ctx.setStrokeStyle('#E8736F')
ctx.setLineWidth(5)
ctx.stroke()
// 中心字体
ctx.setFillStyle('E8736F')
ctx.setFontSize(17)
ctx.setTextAlign('center')
ctx.fillText(`${score}分`, 42, 50)
ctx.stroke()
ctx.draw()
}
效果
每一个人心中都有一团火,路过的人只看到烟!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
2019-03-17 git创建/合并分支/删除分支/将修改后的内容同步到GitHub远程仓库
2019-03-17 利用GIt命令上传项目到GitHub指定仓库
2019-03-17 Java Annotation/Scope