当前位置:   article > 正文

使用canvas制作圆形进度条_canvas 圆环 linecap影响进度

canvas 圆环 linecap影响进度

1. 背景

        在本公司的定制app平台中,需要在日历页面中显示用户的运动进度,平常的直线进度无法满足要求。

2. 核心思路

  1. 先使用 canvas 绘制一个圆
  2. 再使用 canvas 绘制一个进度圆

3. 代码实现

<canvas ref="canvasDom" :width="width" :height="height"></canvas>
  1. const xo = ref(width/ 2) // 圆心坐标
  2. const yo = ref(height/ 2) // 圆心坐标
  3. // lineWidth 线宽
  4. const r = ref((width - lineWidth) / 2)
  5. // 圆
  6. const ctx = canvasDom.value.getContext('2d')
  7. ctx.clearRect(0, 0, width, height)
  8. ctx.beginPath()
  9. ctx.arc(xo.value, yo.value, r.value, 0, Math.PI * 2, true)
  10. ctx.strokeStyle = "red"
  11. ctx.lineWidth = lineWidth
  12. ctx.stroke()
  13. // 进度条
  14. ctx.beginPath()
  15. ctx.arc(xo.value, yo.value, r.value, Math.PI * 1.5, Math.PI * (1.5 + progress * 0.02), false)
  16. ctx.strokeStyle = "green"
  17. ctx.lineWidth = lineWidth
  18. // 设置线的末端
  19. ctx.lineCap = "round"
  20. ctx.stroke()

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/254258
推荐阅读
相关标签
  

闽ICP备14008679号