时间:2021-05-18
微信小程序的推出,无疑将会在移动互联网行业里再次掀起风浪。有人会质疑小程序会不会火, 会不会火我不知道, 看微信的用户量即可明白一切。这里就先学习下微信小程序绘图的功能实现。
官方文档:https://mp.weixin.qq.com/debug/wxadoc/dev/api/api-canvas.html
思路是先画第一段弧,然后连线回圆心,关闭路径,注意不需要连线到起始位,用fill()自动闭合到起始点,对照Photoshop里路径转选区的做法可以有助于理解;第二段弧以前一段弧为起始角度,再回圆心,最后关闭路径;第三段弧以前两段弧之和为起始角度,扫过相应比重的弧度;以此类推,完成整圆。
布局文件
<canvas canvas-id="canvas2" style="width:200px;height:200px;border:1px solid #ccc;margin-top:100px;"></canvas>
Javascript文件
Page({ onReady:function(){ // 页面渲染完成 // 创建上下文 var context = wx.createContext();// 画饼图// 数据源 var array = [20, 30, 40, 40]; var colors = ["#ff0000", "#ffff00", "#0000ff", "#00ff00"]; var total = 0;// 计算问题 for (index = 0; index < array.length; index++) { total += array[index]; }// 定义圆心坐标 var point = {x: 100, y: 100};// 定义半径大小 var radius = 60; for (i = 0; i < array.length; i++) { context.beginPath();// 起点弧度 var start = 0; if (i > 0) {// 计算开始弧度是前几项的总和,即从之前的基础的上继续作画 for (j = 0; j < i; j++) { start += array[j] / total * 2 * Math.PI; } } console.log("i:" + i); console.log("start:" + start);// 1.先做第一个pie// 2.画一条弧,并填充成三角饼pie,前2个参数确定圆心,第3参数为半径,第4参数起始旋转弧度数,第5参数本次扫过的弧度数,第6个参数为时针方向-false为顺时针 context.arc(point.x, point.y, radius, start, array[i] / total * 2 * Math.PI, false);// 3.连线回圆心 context.lineTo(point.x, point.y);// 4.填充样式 context.setFillStyle(colors[i]);// 5.填充动作 context.fill(); context.closePath(); } wx.drawCanvas({ canvasId: 'canvas2', actions: context.getActions() }); }})感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
微信小程序图表插件(wx-charts)基于canvas绘制,体积小巧,支持图表类型饼图、线图、柱状图、区域图等图表图形绘制,目前wx-charts是微信小程序
微信小程序图表工具,chartsforWeChatsmallapp基于canvas绘制,体积小巧支持图表类型饼图pie圆环图ring线图line柱状图colum
微信小程序之页面跳转和参数传递的实现前言:在微信小程序里面的跳转其实和html里的超链接a差不多,我们实现跳转可以通过标签实现,也可以通过js实现,下面一一演示
微信小程序slider的简单实例实现效果图:微信小程序slider应用,可加减的slider控制{{v.name}}-+页面结构Page({data:{cont
微信小程序开发之滑块视图容器详解实现效果图:实现起来特别简单,看看代码是怎么写的呢:这就是布局了,看一下js里面代码:Page({data:{imgUrls:[