返回顶部
首页 > 资讯 > 前端开发 > JavaScript >小程序canvas实现画布半圆环
  • 669
分享到

小程序canvas实现画布半圆环

2024-04-02 19:04:59 669人浏览 八月长安
摘要

本文实例为大家分享了小程序canvas实现画布半圆环的具体代码,供大家参考,具体内容如下 1、效果图: 2、wxml: <view class="fragrance_item

本文实例为大家分享了小程序canvas实现画布半圆环的具体代码,供大家参考,具体内容如下

1、效果图:

2、wxml:

<view class="fragrance_item">
  <view class="fragPos">
    <view class="fragNum">{{perfumePercent}}%</view>
    <view class="fragText">香水余量</view>
  </view>
  <view class="fragPsoReset">
    <view bindtap="resetTab" class="fragReset" hover-class="fragModel_hover">
      <image class="fragReset_icon" src="/static/image/reset.png" mode="widthFix"> </image>
      <view>复位</view>
    </view>
  </view>
  <view class="fragRing">
    <canvas id="perfumeBalance" type="2d" style="width: 220px; height: 120px;" ></canvas>
  </view>
</view>

3、wxss:

.fragModel_hover{box-shadow: 0.2rem 0 0.3rem #8fd0e0, -0.2rem 0 0.3rem #58bfd1;}
.fragrance_item{position: relative;margin-left: 15px;margin-right: 15px;}
.fragPos{position: absolute;left: 50%; top: 50%;transfORM: translateX(-50%);text-align: center;}
.fragPos .fragNum{color:#32CD32;}
.fragPsoReset{position: absolute;right: 3px;top: 36px;text-align: center;}
.fragPsoReset .fragReset{display:inline-block;padding:8px 13px;background-color: rgba(50,80,80.68);border-radius: 15px;transition: all .3s ease-in;font-size: 12px;}
.fragPsoReset .fragReset_icon{width:22px;height:22px;}
.fragRing{width: 220px;height:120px;margin: auto;}

4、js

let perfumeNum = 1.5;
Page({
  data: {
    perfumePercent: 0, // 香水余量
  },
 
  
  onLoad: function (options) {
    let that = this;
    // 香水余量圆环
    const query = wx.createSelectorQuery()
    query.select('#perfumeBalance') .fields({ node: true, size: true }).exec((res) => {
      that.initRing(res);
    })
  },
  // b、香水余量
  initRing(res) {
    let that = this;
    const canvas = res[0].node
    const ctx = canvas.getContext('2d');
    const dpr = wx.getSystemInfoSync().pixelRatio // 设备像素比
    canvas.width = res[0].width * dpr
    canvas.height = res[0].height * dpr
    ctx.scale(dpr, dpr);
    var circleR = 220 / 2; // 画布的一半,用来找中心点和半径
    ctx.translate(0, 0);   // 定义起始点
    function draw() {
      ctx.clearRect(0, 0, canvas.width, canvas.height);
      // 取色圆环
      ctx.beginPath();
      ctx.strokeStyle = '#fff';//transparent
      ctx.lineWidth = 12;
      ctx.lineCap='round' // 设置圆环端点的形状
      ctx.arc(circleR, circleR-10, circleR - 35, Math.PI, 2 * Math.PI, false);
      ctx.stroke();
      ctx.closePath();
      console.log("香水余量")
      // 进度_香水余量
      ctx.beginPath(); // 起始一条路径,或重置当前路径
      ctx.lineWidth = 6;  // 线条宽度
      ctx.lineCap='round' // 线条的结束端点样式
      ctx.arc(circleR, circleR-10, circleR - 35, Math.PI,perfumeNum * Math.PI, false);
      ctx.strokeStyle = "#00CED1";//transparent
      ctx.stroke();
      canvas.requestAnimationFrame(draw);
    }
    draw();
  },
 
  // 复位
  resetTab(){
    let that = this;
    perfumeNum = 2; // 香水余量为100%
    that.setData({
      perfumePercent: 100,
    })
  },
})

当然,你弄一个定时器,让 perfumeNum 的值一直 在 0 ~ 2 的范围内循环递增或递减,这个圆环的进度条就动起来了!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: 小程序canvas实现画布半圆环

本文链接: https://lsjlt.com/news/153097.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 小程序canvas实现画布半圆环
    本文实例为大家分享了小程序canvas实现画布半圆环的具体代码,供大家参考,具体内容如下 1、效果图: 2、wxml: <view class="fragrance_item...
    99+
    2024-04-02
  • 小程序canvas怎么实现画布半圆环
    这篇文章主要讲解了“小程序canvas怎么实现画布半圆环”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“小程序canvas怎么实现画布半圆环”吧!效果图:wxml:<view ...
    99+
    2023-07-02
  • 微信小程序画布canvas怎么使用
    这篇“微信小程序画布canvas怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“微信小程序画布canvas怎么使用”文...
    99+
    2023-06-26
  • 微信小程序用canvas实现圆形进度条
    本文实例为大家分享了微信小程序用canvas实现圆形进度条的具体代码,供大家参考,具体内容如下 先放效果图,如下: 1. wxml文件代码如下 对于圆形进度条中间的文字,如果是简单...
    99+
    2024-04-02
  • 微信小程序canvas实现环形渐变
    本文实例为大家分享了微信小程序canvas实现环形渐变的具体代码,供大家参考,具体内容如下 这个例子是在微信小程序中写的 效果图 后端返回的数据格式,需要的只有otherInfo里...
    99+
    2024-04-02
  • js canvas实现圆形流水动画
    本文实例为大家分享了canvas实现圆形流水动画的具体代码,供大家参考,具体内容如下 前言 特效展示 效果展示 代码展示 index.html <!DOCTYPE htm...
    99+
    2024-04-02
  • 小程序实现文字循环滚动动画
    本文通过实例为大家分享了小程序实现文字循环滚动的具体代码,供大家参考,具体内容如下 解决问题: 1、文字循环播放特效 2、小程序退出、隐藏后台动画停止(已解决) 效果: 代码: w...
    99+
    2024-04-02
  • Android自定义view实现半圆环效果
    本文实例为大家分享了Android自定义view实现半圆环的具体代码,供大家参考,具体内容如下 1.自定义属性 <declare-styleable name="Semicir...
    99+
    2024-04-02
  • 使用canvas怎么实现2d画布
    使用canvas怎么实现2d画布?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。一. Canvas是啥< canvas > 是一个可以使用脚本(通常是js)来绘图的H...
    99+
    2023-06-09
  • 微信小程序实现tabbar凹凸圆选中动画效果实例
    目录1.实现效果2.实现原理2.1 引入阿里巴巴矢量图标2.2 css函数var2.3 ios底部安全距离2.4 css属性transition2.5 box-shadow2.6 b...
    99+
    2024-04-02
  • Android如何自定义view实现半圆环效果
    小编给大家分享一下Android如何自定义view实现半圆环效果,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!具体内容如下1.自定义属性<declare-s...
    99+
    2023-06-29
  • JS如何实现画圆圈的小球
    小编给大家分享一下JS如何实现画圆圈的小球,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!效果图 图(1)图(2)代码如...
    99+
    2024-04-02
  • 小程序启动页动画实现
    微信小程序刚被加载时是有自己默认动画的,但是这个千篇一律。我们其实可以做个性化的加载,带来一点不一样的感觉。比如下面的例子: 小程序加载动画 这个是怎么做的呢?使用的是wx.createAnimation 这个API...
    99+
    2023-08-23
    小程序 微信小程序
  • 微信小程序实现圆心进度条
    本文实例为大家分享了微信小程序实现圆心进度条的具体代码,供大家参考,具体内容如下 一、创建项目结构 打开微信开发者工具创建一个项目, 新建 与 pages 同级目录 componen...
    99+
    2024-04-02
  • 如何实现小程序canvas拖拽功能
    这篇“如何实现小程序canvas拖拽功能 ”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“如何实现小程序canvas拖拽功能 ...
    99+
    2023-06-26
  • 微信小程序canvas实现手写签名
    本文实例为大家分享了微信小程序canvas实现手写签名的具体代码,供大家参考,具体内容如下 很多时候,程序中需要用到签名的功能,附上源码(微信小程序) .wxml <view...
    99+
    2024-04-02
  • 微信小程序开发中如何实现animation循环动画
    这篇文章主要介绍了微信小程序开发中如何实现animation循环动画,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。截图如下:实现代码:ind...
    99+
    2024-04-02
  • 微信小程序开发中怎么实现animation循环动画
    这篇文章主要为大家展示了微信小程序开发中怎么实现animation循环动画,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带大家一起来研究并学习一下“微信小程序开发中怎么实现animation循环动画”这篇文章吧。实现代码:i...
    99+
    2023-06-26
  • Android canvas画图操作之切割画布实现方法(clipRect)
    本文实例讲述了Android canvas画图操作之切割画布实现方法。分享给大家供大家参考,具体如下: android切割画布的历程不算很难,可是理解起来也比较麻烦,这里写一下...
    99+
    2022-06-06
    方法 canvas Android
  • 使用canvas怎么实现一个圆形进度条动画
    这期内容当中小编将会给大家带来有关使用canvas怎么实现一个圆形进度条动画,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1. canvas的HTML部分很简单就一个canvas标签canvas画布的宽高...
    99+
    2023-06-09
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作