微信小程序-封装了一个画饼的函数
来源:互联网 发布:社交网络的好处和坏处 编辑:程序博客网 时间:2024/05/31 13:15
Page( {
onReady: function() {var id="canvas";
var array = [ 15, 22, 1.57,26 ];
var colors = [ "#ff0000", "#ffff00", "#0000ff", "#00ff00" ];
//参数分别为:画布id,数值数组,颜色数组,圆心X,圆心Y,半径
this.canvasDrawPie(id,array,colors,50,50,50);
} ,
canvasDrawPie(id,array,colors,x,y,radius){
// 页面渲染完成
//使用wx.createContext获取绘图上下文context
var context = wx.createContext();
// 画饼图
// 数据源
var total = 0;
// 计算总量
for( var index = 0;index < array.length;index++ ) {
total += array[ index ];
}
// 定义圆心坐标
var point = { x: x, y: y };
/* 循环遍历所有的pie */
for( var i = 0;i < array.length;i++ ) {
context.beginPath();
// 起点弧度
var start = 0;
if( i > 0 ) {
// 计算开始弧度是前几项的总和,即从之前的基础的上继续作画
for( var 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指定在哪张画布上绘制,通过actions指定绘制行为
wx.drawCanvas( {
//指定canvasId,canvas 组件的唯一标识符
canvasId: id,
actions: context.getActions()
});
}
})
引用了:http://blog.csdn.net/qq_31383345/article/details/52944685#
0 0
- 微信小程序-封装了一个画饼的函数
- 一个倒计时的小程序,模拟了leftPad函数
- 封装了envi函数的IDL发布程序的执行方法 以及注意事项
- 一个封装了WinInet API函数的类(CWinInetConnection) wininet.dll
- 封装一个简单的同步Ajax函数
- 封装一个简单的同步Ajax函数
- 封装一个简单的Ajax函数
- 封装一个修改后缀名的函数
- 清除Html标记的一个封装函数
- 微信小程序之封装请求函数
- 封装一个ajax函数
- 画饼
- 利用封装的一个函数显示一个弹出式菜单
- 调试使用了函数模块的程序时需要注意的一个小问题
- 封装了一个 Windows 的 命名管道的类
- 写了一份网页和一个相应的微信小程序
- 整合了一个PHP分页函数与smarty与程序显示的例子
- 封装了一个TPlayGif插件
- Android打印HTML文档
- centeron忘记登陆密码
- freeswitch语音会议在特定应用下降低资源消耗方法
- 系统架构演化历程
- ov5640_mipi.c分析
- 微信小程序-封装了一个画饼的函数
- Java8使用Optional避免空检查
- java-poi-操作excel
- 小项目-星级评分系统
- Projections-Java下MongoDB查询限制返回字段
- DISKGEN 专业版修改硬盘为GPT分区 ESP分区图文教程
- Android Studio升级版本后新建或导入项目,一直卡在building gradle project info
- TextView跑马灯效果
- 逆向还原C语言代码 练习1