码迷,mamicode.com
首页 > 其他好文 > 详细

快速生成扇形图

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

标签:style   blog   class   code   java   color   

快速生成扇形图只需修改数组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

快速生成扇形图

标签:style   blog   class   code   java   color   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!