canvas 绘制圆形进度条
<!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 绘制圆形进度条相关推荐
- android绘制环形进度_Android使用Canvas绘制圆形进度条效果
前言 Android自定义控件经常会用到Canvas绘制2D图形,在优化自己自定义控件技能之前,必须熟练掌握Canvas绘图机制.本文从以下三个方面对Canvas绘图机制进行讲解: 画布Canvas ...
- 使用canvas绘制圆形进度条
实现步骤: 绘制一个圆: 绘制圆环: 绘制进度环: 绘制文字: 一.创建画布 <canvas id='myCanvas' width='200' height='200'></can ...
- 使用h5 canvas绘制圆形进度条
创建一个Html容器canvas: <canvas id="myCanvasTag" width="300" height="300" ...
- H5 Canvas绘制圆形进度条动画效果
效果如图 效果比较简单 html结构部分 <canvas id="canvas" width="110" height="110"&g ...
- 精通Android自定义View(十二)绘制圆形进度条
1 绘图基础简析 1 精通Android自定义View(一)View的绘制流程简述 2 精通Android自定义View(二)View绘制三部曲 3 精通Android自定义View(三)View绘制 ...
- Android 绘制圆形进度条
Android 绘制圆形进度条 最近项目上有一些需求,需要绘制圆形的进度条满足设计上和交互上的需求: 实现思路 在画布上直接绘制View,需要了解一下几点 1.需要画一个圆 2.圆圈上有不同进度的颜色 ...
- 使用canvas绘制圆环进度条
使用canvas绘制圆环进度条 技术要求 需要一点点数学基础 需要对 canvas 的常见的方法熟悉 一点点数学基础 已知圆心,半径,角度,求圆上的点坐标 canvas 常见的方法 菜鸟教程 扬帆起航 ...
- html数字显示百分比,扣丁学堂html5 教程之Canvas实现圆形进度条并显示数字百分比效果...
今天扣丁学堂html5培训小编和大家分享一下Canvas实现圆形进度条并显示数字百分比效果示例,对html5感兴趣的小伙伴或者是参加学习的小伙伴可以了解一下. Canvas实现圆形进度条并显示数字百分 ...
- html5 canvas绘制圆形进度实例
2019独角兽企业重金招聘Python工程师标准>>> html5 canvas绘制圆形进度实例 <canvas id="test" width=200 h ...
最新文章
- Matlab的size()函数
- php 字符串处理
- 云炬VB开发笔记 3VB语言基础和顺序结构
- 《左手MongoDB右手Redis》第3章笔记-robo3t上进行增删改查
- API文档工具-Swagger的集成
- 通过条形码扫描器攻击工控系统
- SaltStack之数据系统
- CDN原理 CDN技术是什么
- css 背景渐变详解
- 计算机网络:应用层 - 万维网 WWW、HTTP 协议以及 HTML 语言
- opencv保存视频编码方式
- 拿R来画画(六):很漂亮的Cleveland点图
- android中点击空白处隐藏软键盘
- lio linux工具,LIO介绍
- 解决Macbook双系统 找不到麦克风问题
- 【splishsplash】修复catch.hpp的问题
- 设计模式 - 工厂模式
- 【入门案例系列】学英语太难?这款英语单词小游戏教你一键学会。
- The Power of Scale for Parameter-Efficient Prompt Tuning及prefix tuning与prompt tuning的区别
- 自动化测试工作考核指标
热门文章
- 错误 1 类型“System.Web.UI.ScriptManager”同时存在于“c:\windows\assembly\GAC_MSIL\System.Web.Extensions\3.5.0.0
- 图文并茂介绍在VS2010里使用TFS2010
- PRML-系列一之1.5
- java向Oracle数据库中插入blob字段数据
- Baum-WELCH和vertibe解码算法
- Unity 4 3 制作一个2D横版射击游戏
- 设计模式学习笔记——模板(Template)模式
- What is Freeview Play
- plsql能连mysql吗_面试官:能给我讲讲用代码实现MySQL的读写分离的思路吗?
- python编程规则_python编程规则