<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
本文範例為大家分享了微信小程式canvas實現環形漸變的具體程式碼,供大家參考,具體內容如下
這個例子是在微信小程式中寫的
效果圖
後端返回的資料格式,需要的只有otherInfo裡面的資料
wxml
<view> <canvas class="progress_bg" canvas-id="{{otherInfo.bgid}}"> </canvas> <canvas class="progress_canvas" canvas-id="{{otherInfo.pgid}}"> </canvas> </view> <view class="progress_text"> <text class='progress_info'> {{otherInfo.sumPointNumber || 0}}分</text> </view>
js
data:{ otherInfo: { bgid: "bgid", pgid: "pgid", sumPointNumber: 100 // 預設圓環顯示的區域,全部顯示是100 } }
根據介面獲取資料,我只擷取了需要的部分,賦值到data裡面的otherInfo
下面是重要的canvas部分
用arc()方法建立圓,起始角設定為 0,結束角設定為 2*Math.PI(PI就是圓周率π,PI是弧度制的π,也就是180°,所以,Math.PI = 3.14 = 180°,PI是一個浮小數)
drawProgressbg() { let w = wx.getSystemInfoSync().screenWidth; let that = this; let ctx = wx.createCanvasContext(that.data.otherInfo.bgid) ctx.setLineWidth(8 * w / 375); ctx.setStrokeStyle('#DDEDFA'); ctx.setLineCap('round'); ctx.beginPath(); ctx.arc(80 * w / 375, 80 * w / 375, 65 * w / 375, 0, 2 * Math.PI, false); ctx.stroke(); ctx.draw(); }, drawCircle() { let w = wx.getSystemInfoSync().screenWidth; let that = this; let context = wx.createCanvasContext(that.data.otherInfo.pgid); context.setLineWidth(8 * w / 375); // context.setStrokeStyle('#55A5E6'); 不漸變的背景色 // 環形漸變的背景色 var my_gradient = context.createLinearGradient(0, 0, 200, 0); my_gradient.addColorStop(1, "#FA6400"); my_gradient.addColorStop(0, "#FFECAF"); context.strokeStyle = my_gradient; context.setLineCap('round'); context.beginPath(); context.arc(80 * w / 375, 80 * w / 375, 65 * w / 375, -Math.PI / 2, that.data.otherInfo.sumPointNumber / 50 * Math.PI - Math.PI / 2, false); context.stroke(); context.draw() }, onLoad: function (options) { this.getList() // 獲取的資料 this.drawProgressbg(); this.drawCircle() },
wxss
.progress_bg { position: absolute; left: 30%; width: 300rpx; height: 300rpx; z-index: 9; } .progress_canvas { left: 30%; width: 300rpx; height: 300rpx; z-index: 9; } .progress_text { display: flex; align-items: center; justify-content: center; margin-top: -23%; } .progress_info { letter-spacing: 2rpx; color: #000; font-weight: 600; font-size: 38rpx; }
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援it145.com。
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45