react中用canvas制作渐变色的环形进度条
来源:互联网 发布:js 视频播放插件 编辑:程序博客网 时间:2024/05/29 05:10
第一次用canvas画图,代码仅供参考;
首先创建canvas标签:
<canvas className={styles.progress} id="time_graph_canvas" width="240" height="240"></canvas>
然后在componentDidMount里执行,这里的Percentage是需要的百分比值。我定义在jsx全局,因为要在render的时候获取到百分比值。
componentDidMount() { let ele = document.getElementById("time_graph_canvas") let circle = ele.getContext("2d"); //创建背景圆 circle.lineWidth = 6; circle.strokeStyle = 'rgba(0,0,0,0)'; circle.lineCap = 'round'; circle.beginPath();//开始一个新的路径 circle.arc(70, 70, 67, 0, 2 * Math.PI, false);///用于绘制圆弧context.arc(x坐标,y坐标,半径,起始角度,终止角度,顺时针/逆时针) circle.stroke();//对当前路径进行描边 //创建渐变圆环 let g = circle.createLinearGradient(32, 0, 20, 20); //创建渐变对象 渐变开始点和渐变结束点 g.addColorStop(0, '#33e4a8'); //添加颜色点 g.addColorStop(1, '#3ea8ef'); circle.lineWidth = 6 //设置线条宽度 circle.strokeStyle = g; circle.beginPath();//开始一个新的路径 circle.arc(70, 70, 67, -Math.PI / 2, -Math.PI / 2 + Percentage * (Math.PI * 2 / 100), false); circle.stroke();//对当前路径进行描边}当canvas的画布需要根据不同终端的font-size适配时,我这里获取了window的outerWidth和innerWidth,计算出缩放比后将计算好画布宽高除以2后再除以缩放比,下面是代码let fontSizeWidth = window.outerWidth / window.innerWidthlet canvasWidth = 70 / fontSizeWidth;ele.setAttribute('width', canvasWidth + 'px');ele.setAttribute('height', canvasWidth + 'px');
阅读全文
1 0
- react中用canvas制作渐变色的环形进度条
- 环形进度条的制作
- Android利用canvas制作环形进度条
- android 自定义环形进度条,渐变色
- 自定义渐变环形进度条。
- canvas实现环形进度条
- canvas 实现环形进度条
- HTML5 canvas带渐变色的圆形进度条动画
- Android环形颜色渐变进度条
- Android 带渐变效果的半圆环形进度条
- HTML5 Canvas绘制环形进度条
- HTML5 Canvas绘制环形进度条
- HTML5 Canvas绘制环形进度条
- canvas动态绘制环形进度条
- 利用VB2005制作颜色渐变的进度条
- iOS 开发-制作环形进度条
- Android初学-----环形进度条 带渐变
- JS利用CANVAS 画环形进度条
- 【java基础:集合与IO】Properties集合与IO流相结合进行数据读取和存储的demostration
- 模板库(杂)
- Java网络爬虫基础和抓取网站数据的两个小实例
- mysql修改默认端口
- redis单机及其集群的搭建
- react中用canvas制作渐变色的环形进度条
- 七Java循环结构
- Linux 系统中 scikit-learn 编程环境
- Activity的四种启动模式和onNewIntent()
- 深度浅析 == 和 equals 的区别
- input 输入 小写转大写 遇到坑
- Linux下安装mysql
- hibernate
- Scala case class那些你不知道的知识