首页 > 其他 > 详细

快速生成扇形图

时间:2014-05-07 12:59:27      阅读:406      评论:0      收藏:0      [点我收藏+]

快速生成扇形图只需修改数组budgetAll和actualAll

代码如下:

bubuko.com,布布扣
 1                //设置笔刷样式
 2                 SolidBrush[] sbrush =
 3                 {
 4                     new SolidBrush(Color.Wheat),//背景色
 5                     new SolidBrush(Color.Gold),//其它
 6                     new SolidBrush(Color.Red),//交通
 7                     new SolidBrush(Color.Green),//饮食
 8                     new SolidBrush(Color.Blue),//门票
 9                     new SolidBrush(Color.Brown)//住宿
10                 };
11                 Rectangle rect1 = new Rectangle(0, 0, 200, 200);
12                 Rectangle rect2 = new Rectangle(10, 10, 180, 180);
13                 Graphics g1 = panel1.CreateGraphics();//预算
14                 Graphics g2 = panel2.CreateGraphics();//实际支出
15                 g1.FillEllipse(sbrush[0], rect1);
16                 g2.FillEllipse(sbrush[0], rect1);
17                 g1.FillEllipse(sbrush[1], rect2);
18                 g2.FillEllipse(sbrush[1], rect2);
19                 string[] budgetAll = budget.Split(,);
20                 string[] actualAll = actual.Split(,);
21                 int sumBudget = 0;
22                 int sumActual = 0;
23                 for (int i = 0; i < budgetAll.Length; i++)
24                 {
25                     sumBudget +=Int32.Parse(budgetAll[i]);
26                     sumActual += Int32.Parse(actualAll[i]);
27                 }
28 
29                 int angleBud = 30;//预算起始角度
30                 int angleAct=30;//实际起始角度
31                 int tempBud, tempAct;
32                 for (int i = 0; i < budgetAll.Length-1; i++)
33                 {
34                     tempBud=(int)(Int32.Parse(budgetAll[i]) * 360 / sumBudget);
35                     tempAct=(int)(Int32.Parse(actualAll[i]) * 360 / sumActual);
36                     g1.FillPie(sbrush[i + 2], rect2, angleBud, tempBud);
37                     g2.FillPie(sbrush[i + 2], rect2, angleAct, tempAct);
38                     angleBud += tempBud;
39                     angleAct += tempAct;
40                 }
bubuko.com,布布扣

效果图如下:
bubuko.com,布布扣

快速生成扇形图,布布扣,bubuko.com

快速生成扇形图

原文:http://www.cnblogs.com/xuhang/p/3712769.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!