canvas圆环进度条,圆形进度条动画怎么做

  canvas圆环进度条,圆形进度条动画怎么做

  本文介绍了帆布实现圆形进度条动画,分享给大家,具体如下:

  先给大家看看效果图,然后在上代码。

  进度条动画

  1. canvas的HTML部分很简单就一个canvas标签

  帆布画布的宽高是自身的属性,要在行间样式设置,若是在风格设置宽高会使你画的图片变形。

  画布id=我的画布宽度= 100 高度= 100 70%/canvas2.画布的js代码

  主要思路:效果图中是由三个圆组成的,最外层是一个有黑边的大圆,里面一个改变进度条进度的圆和一个现实百分比的圆。

  注意:每画一个圆都要新建一个图层,这样可以单独设置每个图层的样式,之间不相互影响,就像著名图象处理软件的图层一样,一个完整的设计稿都是很多图层组成的。

  var canvas=文档。getelementbyid(我的画布);var context=画布。获取上下文(“2d”);函数绘制(一){//大圆框语境。begin path();语境。线宽=1;上下文弧(50,50,46,0,数学.* 2);context . stroke style= grey context。笔画();//大圆语境。begin path();var grd=上下文。createlanegradient(15,15,80,80);grd.addColorStop(0, red );grd.addColorStop(0.5英尺黄色);grd.addColorStop(1, blue );上下文弧(50,50,38,0,数学* 2 *(I/100));context . line width=16 context . stroke style=grd context。笔画();//上下文。填充样式=grd//上下文。fill();//小圆语境。begin path();上下文弧(50,50,30,0,数学.* 2);语境。线宽=1;context . stroke style= grey context。笔画();context . fill style= white context。fill();//字语境。begin path();context . text baseline= middle context . textalign= center context . font= 20px arial context . fill style= black context . fill text(I % ,50,50);}3. 使用计时器来刷新画布,达到进度条的效果

  使用context.clearRect()方法来清空画布的

  var I=0;var progress=parse int(canvas。innerhtml);//console.log(进度);var timer=setInterval(function(){ if(I=progress){ clear interval(timer);}context.clearRect(0,0,canvas.width,canvas。身高);画(一);我;},50);以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: