zoukankan      html  css  js  c++  java
  • 快速生成扇形图

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

    代码如下:

     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                 }

    效果图如下:

  • 相关阅读:
    服务器图片等资源在8080端口保存
    thinkphp 3.2.1 URL 大小写问题 下面有具体说明
    linux samba smb 在客户端无法连接使用
    php连接redis服务
    服务器死机 导致 mongo 挂掉
    同一个页面引用不同版本jquery库
    CSS3阴影 box-shadow的使用和技巧总结
    php 中使用正则
    Hbase-1.1.1-java API
    hive1.2.1问题集锦
  • 原文地址:https://www.cnblogs.com/xuhang/p/3712769.html
Copyright © 2011-2022 走看看