<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>canvas 圆形进度条效果</title><style>*{margin:0;padding:0;}body{text-align:center;background-color:#000;}</style>
</head>
<body><canvas id="canvas" width="500" height="500" style="background:#000;"></canvas><script>window.onload = function(){var canvas = document.getElementById('canvas'),  //获取canvas元素context = canvas.getContext('2d'),  //获取画图环境,指明为2dcenterX = canvas.width/2,   //Canvas中心点x轴坐标centerY = canvas.height/2,  //Canvas中心点y轴坐标rad = Math.PI*2/100, //将360度分成100份,那么每一份就是rad度speed = 0.1; //加载的快慢就靠它了 //绘制蓝色外圈function blueCircle(n){context.save();context.strokeStyle = "#fff"; //设置描边样式context.lineWidth = 5; //设置线宽context.beginPath(); //路径开始context.arc(centerX, centerY, 100 , -Math.PI/2, -Math.PI/2 +n*rad, false); //用于绘制圆弧context.arc(x坐标,y坐标,半径,起始角度,终止角度,顺时针/逆时针)context.stroke(); //绘制context.closePath(); //路径结束context.restore();}//绘制白色外圈function whiteCircle(){context.save();context.beginPath();context.strokeStyle = "white";context.arc(centerX, centerY, 100 , 0, Math.PI*2, false);context.stroke();context.closePath();context.restore();}  //百分比文字绘制function text(n){context.save(); //save和restore可以保证样式属性只运用于该段canvas元素context.strokeStyle = "#fff"; //设置描边样式context.font = "40px Arial"; //设置字体大小和字体//绘制字体,并且指定位置context.strokeText(n.toFixed(0)+"%", centerX-25, centerY+10);context.stroke(); //执行绘制context.restore();} //动画循环(function drawFrame(){window.requestAnimationFrame(drawFrame, canvas);context.clearRect(0, 0, canvas.width, canvas.height);whiteCircle();text(speed);blueCircle(speed);if(speed > 100) speed = 0;speed += 0.1;}());}</script></body>
</html>

    有详细解释  练习demo

转载于:https://www.cnblogs.com/ysshuai/p/7094356.html

canvas 绘制圆形进度条相关推荐

  1. android绘制环形进度_Android使用Canvas绘制圆形进度条效果

    前言 Android自定义控件经常会用到Canvas绘制2D图形,在优化自己自定义控件技能之前,必须熟练掌握Canvas绘图机制.本文从以下三个方面对Canvas绘图机制进行讲解: 画布Canvas ...

  2. 使用canvas绘制圆形进度条

    实现步骤: 绘制一个圆: 绘制圆环: 绘制进度环: 绘制文字: 一.创建画布 <canvas id='myCanvas' width='200' height='200'></can ...

  3. 使用h5 canvas绘制圆形进度条

    创建一个Html容器canvas: <canvas id="myCanvasTag" width="300" height="300" ...

  4. H5 Canvas绘制圆形进度条动画效果

    效果如图 效果比较简单 html结构部分 <canvas id="canvas" width="110" height="110"&g ...

  5. 精通Android自定义View(十二)绘制圆形进度条

    1 绘图基础简析 1 精通Android自定义View(一)View的绘制流程简述 2 精通Android自定义View(二)View绘制三部曲 3 精通Android自定义View(三)View绘制 ...

  6. Android 绘制圆形进度条

    Android 绘制圆形进度条 最近项目上有一些需求,需要绘制圆形的进度条满足设计上和交互上的需求: 实现思路 在画布上直接绘制View,需要了解一下几点 1.需要画一个圆 2.圆圈上有不同进度的颜色 ...

  7. 使用canvas绘制圆环进度条

    使用canvas绘制圆环进度条 技术要求 需要一点点数学基础 需要对 canvas 的常见的方法熟悉 一点点数学基础 已知圆心,半径,角度,求圆上的点坐标 canvas 常见的方法 菜鸟教程 扬帆起航 ...

  8. html数字显示百分比,扣丁学堂html5 教程之Canvas实现圆形进度条并显示数字百分比效果...

    今天扣丁学堂html5培训小编和大家分享一下Canvas实现圆形进度条并显示数字百分比效果示例,对html5感兴趣的小伙伴或者是参加学习的小伙伴可以了解一下. Canvas实现圆形进度条并显示数字百分 ...

  9. html5 canvas绘制圆形进度实例

    2019独角兽企业重金招聘Python工程师标准>>> html5 canvas绘制圆形进度实例 <canvas id="test" width=200 h ...

最新文章

  1. Matlab的size()函数
  2. php 字符串处理
  3. 云炬VB开发笔记 3VB语言基础和顺序结构
  4. 《左手MongoDB右手Redis》第3章笔记-robo3t上进行增删改查
  5. API文档工具-Swagger的集成
  6. 通过条形码扫描器攻击工控系统
  7. SaltStack之数据系统
  8. CDN原理 CDN技术是什么
  9. css 背景渐变详解
  10. 计算机网络:应用层 - 万维网 WWW、HTTP 协议以及 HTML 语言
  11. opencv保存视频编码方式
  12. 拿R来画画(六):很漂亮的Cleveland点图
  13. android中点击空白处隐藏软键盘
  14. lio linux工具,LIO介绍
  15. 解决Macbook双系统 找不到麦克风问题
  16. 【splishsplash】修复catch.hpp的问题
  17. 设计模式 - 工厂模式
  18. 【入门案例系列】学英语太难?这款英语单词小游戏教你一键学会。
  19. The Power of Scale for Parameter-Efficient Prompt Tuning及prefix tuning与prompt tuning的区别
  20. 自动化测试工作考核指标

热门文章

  1. 错误 1 类型“System.Web.UI.ScriptManager”同时存在于“c:\windows\assembly\GAC_MSIL\System.Web.Extensions\3.5.0.0
  2. 图文并茂介绍在VS2010里使用TFS2010
  3. PRML-系列一之1.5
  4. java向Oracle数据库中插入blob字段数据
  5. Baum-WELCH和vertibe解码算法
  6. Unity 4 3 制作一个2D横版射击游戏
  7. 设计模式学习笔记——模板(Template)模式
  8. What is Freeview Play
  9. plsql能连mysql吗_面试官:能给我讲讲用代码实现MySQL的读写分离的思路吗?
  10. python编程规则_python编程规则