canvas编写同心圆
来源:互联网 发布:linux shell脚本入门 编辑:程序博客网 时间:2024/06/07 19:03
直接上代码
最终页面
需要的插件
Chart.js
html代码
<canvas id="canvas_circle" height="120" width="120" style="margin-bottom: 0px;"> 浏览器不支持canvas</canvas>
js代码
//绘制饼图function drawCircle(canvasId, data_arr, color_arr, text_arr) { var c = document.getElementById(canvasId); var ctx = c.getContext("2d");// var radius = parseInt($(c).css("width").split("px")[0])/2; //半径// console.log(parseInt($(c).css("width").split("px")[0])/2); var radius = c.height / 2; var ox = radius,oy = radius; //圆心// var width = 30,// height = 10;// var posX = ox * 2 + 20,// posY = 30;// var textX = posX + width + 5,// textY = posY + 10; var startAngle = 0, endAngle = 0; //开始弧度---结束弧度 for(var i = 0; i < data_arr.length; i++) { //绘制饼图 endAngle = endAngle + data_arr[i] * Math.PI * 2; //结束弧度 ctx.fillStyle = color_arr[i]; ctx.beginPath(); ctx.moveTo(ox, oy); //移动到到圆心 ctx.arc(ox, oy, radius, startAngle, endAngle, false); ctx.closePath(); ctx.fill(); startAngle = endAngle; //设置起始弧度 //绘制比例图及文字// ctx.fillStyle = color_arr[i];// ctx.fillRect(posX, posY + 20 * i, width, height);// ctx.moveTo(posX, posY + 20 * i);// ctx.font = 'bold 12px 微软雅黑'; //斜体 30像素 微软雅黑字体// ctx.fillStyle = color_arr[i]; //"#000000";// var percent = text_arr[i] + ":" + 100 * data_arr[i] + "%";// ctx.fillText(percent, textX, textY + 20 * i); } radius = radius - 40; //半径 ox = radius + 40, oy = radius + 40; //圆心 startAngle = 0; //起始弧度 endAngle = 0; //结束弧度 for(var i = 0; i < data_arr.length; i++) { //绘制饼图 endAngle = endAngle + data_arr[i] * Math.PI * 2; //结束弧度 ctx.fillStyle = "#FFFFFF"; ctx.beginPath(); ctx.moveTo(ox, oy); //移动到到圆心 ctx.arc(ox, oy, radius, startAngle, endAngle, false); ctx.closePath(); ctx.fill(); }}function init() { //绘制饼图 //比例数据和颜色 var data_arr = [0.2, 0.35, 0.45]; var color_arr = ["#FDB128", "#F46950", "#1DAC91"]; var text_arr = ["第一季度", "第二季度", "第三季度"]; drawCircle("canvas_circle", data_arr, color_arr, text_arr);}//页面加载时执行init()函数window.onload = init;
0 0
- canvas编写同心圆
- App同心圆
- canvas编写简单七巧板
- “同心圆”布局管理器
- 自定义view 同心圆
- photoshop 画箭头 同心圆
- 使用opencv识别同心圆
- HTML+CSS画同心圆
- autolisp绘制同心圆
- Android 自定义同心圆波纹
- 使用Canvas编写的秒表程序
- 试用html5 canvas编写游戏引擎
- Html5学习--------canvas编写简单钟表
- 利用Canvas+js编写贪吃蛇游戏
- 李开复的成功同心圆(ZZ)
- VB工程---百例45--同心圆.
- java画随机颜色同心圆
- echarts 如何实现同心圆效果
- AndroidManifest.xml补充之:andorid:configChanges
- OpenCV控制摄像头实现 拍照功能
- android repo中manifest.xml的详解
- Vue.js开发环境搭建
- java随便写写
- canvas编写同心圆
- 超级素数
- 写简历有疑惑?戳进来找答案!
- Android之屏幕适配
- 加密解密的概念
- Android(Java) ArrayList更改顺序
- freemarker的常用标签
- 几何画板绘制动态正切函数图像的教程
- List的切割方法