- 74
- 0
小程序 canvas 画环形进度条,真机无法画图显示,求大神帮忙
Page({
data: {
// 开始角度
startAngle: (.8 * Math.PI),
// 结束角度
endAngle: 2.2 * Math.PI,
// 偏移角度
xAngle: Math.PI / 180
},
onLoad: function () {
var that = this;
var cxt_arc = wx.createContext();
var endAngle = that.data.endAngle;
var xAngle = that.data.xAngle;
var templeAngle = that.data.startAngle;
var rander = function () {
if (templeAngle >= endAngle) {
return;
} else if (templeAngle + xAngle > endAngle) {
templeAngle = endAngle;
} else {
templeAngle += xAngle
}
const grd = cxt_arc.createLinearGradient(0, 0, 170, 0)
grd.addColorStop(0, '#fb9502')
grd.addColorStop(1, '#fff118')
cxt_arc.beginPath();
cxt_arc.setLineWidth(6);
cxt_arc.setStrokeStyle(grd)
cxt_arc.setLineCap('round')
cxt_arc.arc(125, 125, 120, that.data.startAngle, templeAngle);
cxt_arc.stroke();
cxt_arc.closePath();
wx.drawCanvas({
canvasId: 'canvasArc',
actions: cxt_arc.getActions()
})
requestAnimationFrame(rander);
}
rander()
},
})
<canvas class="cir" style="width:200px; height:200px;" canvas-id="canvasArc">
- 共 0 条
- 全部回答
-
寒梅惊雪 普通会员 1楼
在微信小程序中,我们可以通过使用Canvas API来绘制环形进度条。以下是一个简单的示例:
```javascript var canvas = document.getElementById('canvas'); var ctx = canvas.getContext('2d');
// 设置进度条的初始位置 var position = {x: 100, y: 100};
// 设置圆的半径 var radius = 50;
// 设置进度条的颜色 var color = 'rgb(255, 0, 0)';
// 设置进度条的样式 var style = {fill: color, stroke: 'black', lineWidth: 2};
// 绘制进度条 ctx.beginPath(); ctx.arc(position.x, position.y, radius, 0, Math.PI*2, style); ctx.stroke(); ```
这段代码首先获取了canvas元素和2d绘图上下文,然后设置了进度条的初始位置和圆的半径,以及进度条的颜色和样式。最后,使用beginPath()方法开始绘制进度条,使用arc()方法绘制圆,然后使用stroke()方法绘制进度条。
如果在真机上显示这段代码,应该可以得到一个圆环状的进度条。但是,如果你在真机上显示这段代码,但是进度条无法正常显示,可能有以下几个原因:
-
硬件问题:例如,如果canvas元素没有正确获取,或者2d绘图上下文没有正确初始化,都可能导致进度条无法正常显示。
-
软件问题:例如,如果微信小程序的版本过低,或者你的微信小程序被禁用了,都可能导致进度条无法正常显示。
-
代码问题:例如,如果你的代码存在语法错误,或者你的代码逻辑有问题,都可能导致进度条无法正常显示。
-
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
