效果图(动态的圆圈)

<template>     <view class='circleBar'><view class="wrap"><view class="top"><canvas class="cir" class="cancas_wh" canvas-id="canvasArc1"></canvas><view class="centerWord">100%</view></view></view></view>
</template>

js部分

  data = { cxt_xx: 47,cxt_rr: 41,timer: 0,
}
  showScoreAnimation1(maxNum) {let that = thislet copyRightItems = 0that.timer = setInterval(function() {copyRightItems++if (copyRightItems == maxNum) {clearInterval(that.timer)} else {// 页面渲染完成// 这部分是灰色底层let cxt_arc = wx.createCanvasContext('canvasArc1') //创建并返回绘图上下文context对象。cxt_arc.setLineWidth(6) //绘线的宽度cxt_arc.setStrokeStyle('#cccccc') //绘线的颜色cxt_arc.setLineCap('round') //线条端点样式cxt_arc.beginPath() //开始一个新的路径cxt_arc.arc(that.cxt_xx,that.cxt_xx,that.cxt_rr,0,2 * Math.PI,false) //设置一个原点(53,53),半径为50的圆的路径到当前路径cxt_arc.stroke() //对当前路径进行描边//这部分是绿色部分cxt_arc.setLineWidth(6)cxt_arc.setStrokeStyle('#509234')cxt_arc.setLineCap('round')cxt_arc.beginPath() //开始一个新的路径console.log(copyRightItems, 'copyRightItems')cxt_arc.arc(that.cxt_xx,that.cxt_xx,that.cxt_rr,(-Math.PI * 1) / 2,2 * Math.PI * (copyRightItems / 100) - (Math.PI * 1) / 2,false)cxt_arc.stroke() //对当前路径进行描边cxt_arc.draw()}}, 20)that.$apply()}

css部分

.circleBar {width: 185rpx;height: auto;overflow: hidden;position: relative;
}
.cancas_wh {width: 212rpx;height: 212rpx;
}
.cir {display: inline-block;background-color: #fff;border-radius: 100%;
}
.centerWord {width: 100%;position: absolute;top: 70rpx;left: 5rpx;text-align: center;color: #509234;
}

使用

  onLoad() {  let totalItems = 100//最终加载到100%位置,可以任意修改this.showScoreAnimation1(totalItems)
}

效果图

微信小程序利用canvas绘制一个动画百分比圆圈相关推荐

  1. 微信小程序利用canvas绘制一个静态百分比圆圈

    效果如图 <view class='circleBar'><view class="wrap"><canvas class="cir&quo ...

  2. html5绘制图形幸运大转盘,微信小程序利用canvas 绘制幸运大转盘功能

    小程序对 canvas api 跟h5的不太一致 ,所以这个搞的比较久,不多说,先贴代码 Page({ /** * 页面的初始数据 */ data: { awardsConfig: {}, resta ...

  3. 小程序利用canvas 绘制图案 (生成海报, 生成有特色的头像)

    小程序利用canvas 绘制图案 (生成海报, 生成有特色的头像) 微信小程序生成特色头像,海报等是比较常见的.下面我来介绍下实现该类小程序的过程. 首先选择前端来通过 canvas 绘制.这样比较节 ...

  4. 解决了:微信小程序使用canvas绘制倒计时圆圈和数字居中的实现

    微信小程序使用canvas绘制倒计时圆圈和数字居中的实现 1.显示结果 2.过程: (1)wxml + css <!-- 每道题 --><view style="backg ...

  5. 微信小程序使用canvas绘制二维码实现跳转小程序

    开始接到这个需求的时候,我查阅文档获取小程序码 | 微信开放文档 发现两种途径 需要后端在服务器上调用接口拿到二维码,因为调用的 https://api.weixin.qq.com这个域名是不允许上白 ...

  6. 微信小程序利用canvas实现六边形蜘蛛图

    微信小程序利用canvas实现六边形蜘蛛图 发布时间:2018-01-24 14:30:29 1..wxml <canvas style="width: 200px; height: ...

  7. 微信小程序使用canvas绘制海报并保存本地相册

    在做微信小程序的时候,很多都会用到生成海报分享功能,刚好最近项目有这个需求,今天就发出来记录下 首先是使用canvas绘制一张海报,微信小程序的canvas有老版本和新版本我是用的是新版本 代码如下 ...

  8. 微信小程序利用canvas画出根据文字自适应的边框

    1.需求 生成海需要画出一个中空带边框的的tag,如下图.众所周知,微信小程序里的canvas画图都是需要自己一点点画出来,不想html有htmlToCanvas,直接写HTML就可以转成canvas ...

  9. 微信小程序使用canvas制作拼图动画

    效果如上图 制作思路: 1. 制作9个由特殊图形拼成的九宫格,包含灰色模糊和彩色高亮:2.生成小拼图并进行一系列变化实现蓄能弹起的动画效果:3.将生成的拼图拼贴在对应的位置上,产生破碎动画特效 准备工 ...

最新文章

  1. 在CentOS 6.3 64bit上安装Apache Trafficserver 4.2.3
  2. 平滑迁移 Dubbo 服务的思考
  3. ​iOS的界面触摸事件处理机制,然后用一个实例来说明下应用场景.
  4. Linux系统中的uptime命令
  5. C# 发送email邮件!
  6. 趣话题:git三部曲(二)-拆分历史提交记录reset
  7. MS SQL 语法大全
  8. 在web3上搭建ecshop网上商城
  9. 初学者python笔记(类的内置属性)
  10. 易语言手游辅助开发教程
  11. apktool java_apktool的使用
  12. 问题:微信小程序开发之 --- app.js文件介绍
  13. ZYNQ7010 CAN的官方例程改为XCANPS_MODE_NORMAL模式,程序没跑通
  14. HTML5系列代码:个人页面
  15. 电化学甲醛气体传感器
  16. 二叉树面试题:前中序求后序、中后序求前序
  17. 华为防火墙-1-安全区域
  18. 计算机一级考试第一套题电子表格,2013年计算机一级考试试题(精简版):第一套...
  19. 物联网——完全开源物联网基础平台
  20. C语言:十进制转十六进制并组合输出

热门文章

  1. 经典共识PoW的原理及实现
  2. python自动下载酷狗音乐_Python下载酷狗音乐
  3. 电脑版微信头像无法显示并且不能显示表情
  4. 1089 狼人杀-简单版(C语言实现)
  5. mysql更改date为ym_关于日期格式设置及转换
  6. 干掉可恶的弹窗广告——windows系统
  7. ubuntu上打开md文件_Linux_查看.md
  8. php word转化为html,php如何把word转换为html(这里使用COM)
  9. 磷酸铁锂电池充电过压保护
  10. 计算机技能大赛奖品,第一届全国技能大赛都有哪些奖励政策?