微信小程序利用canvas实现蜘蛛网图
2018-01-24 13:53
375 查看
微信小程序利用canvas实现蜘蛛网图
1、.wxml文件
<!--canvas-id是canvas的唯一标识--> <canvas style="width: 200px; height: 200px;" canvas-id="firstCanvas"></canvas>
2、.js文件
const app = getApp(); Page({ //事件处理函数 canvasIdErrorCallback: function (e) { console.error(e.detail.errMsg) }, onReady: function (e) { radar({ element: 'firstCanvas', x:100,//原点的x坐标 y:100,//原点的y坐标 maxR:65,//最大圆半径 color:'#ffffff', width:'1', arc: [{ r: '20' }, { r: '35' }, {r: '50' }, { r: '65' }], standard:6,//标准线的条数 }); }, radar:function(config) { var context = wx.createCanvasContext(config.element); var x = config.x;//原点的x坐标 var y = config.y;//原点的y坐标 var maxR = config.maxR;//最大圆半径 var angle = 360 / config.standard * 2 * Math.PI / 360;//计算标准线的弧度 context.setStrokeStyle(config.color || '#000000');//设置绘制的颜色 context.setLineWidth(config.width || '1');//设置绘制图线的宽度 var arc = config.arc || [];//获取要绘制圆的半径 //绘制圆 for (let i = 0; i < arc.length; i++) { let r = arc[i].r; context.moveTo(parseFloat(x) + parseFloat(arc[i].r), y); context.arc(x, y, r, 0, 2 * Math.PI); } //绘制标准线 for (let i = 0; i < config.standard; i++) { context.moveTo(x, y); context.lineTo(x + maxR * Math.cos(angle * (i + 1)), y + maxR * Math.sin(angle * (i + 1))); } context.stroke(); context.draw(); } })
3、效果图
相关文章推荐
- 微信小程序利用canvas实现六边形蜘蛛图
- 微信小程序canvas实现刮刮乐效果
- 利用python实现微信小程序游戏跳一跳详细教程
- EA&UML日拱一卒-微信小程序实战:位置闹铃 (9)-利用条件渲染实现列表控件
- Canvas与Image互相转换示例以及利用该技术实现微信长按自动识别二维码功能
- 利用ajax,canvas实现的测试php程序占用内存的代码
- 微信小程序-canvas绘实现贴纸效果
- 微信小程序 利用css实现遮罩效果实例详解
- 微信小程序canvas画图功能实现
- 微信小程序利用canvas 绘制幸运大转盘功能
- 微信小程序小组件 基于Canvas实现直播点赞气泡效果
- Canvas与Image互相转换示例以及利用该技术实现微信长按自动识别二维码功能
- 微信小程序canvas 实现信用图表
- 微信小程序 利用transform:Matrix(a,b,c,d,e,f) 实现图片拖拽
- 微信小程序----canvas实现刮刮乐效果
- 微信小程序:利用canvas缩小图片
- 利用微信小程序实现web监控界面
- 微信小程序实现页面跳转传值的方法
- 微信小程序实现折叠面板
- 利用MoveFileEx实现程序的隐藏、自启动与自删除