ASP.Net页面生成饼图实例

  本文实例讲述了ASP.Net页面生成饼图的方法。分享给大家供大家参考。具体实现方法如下:

  1.生成普通饼图:

  

复制代码 代码如下:
using System;

  using System.Collections.Generic;

  using System.Drawing;

  using System.Drawing.Imaging;

  using System.Linq;

  using System.Web;

  using System.Web.UI;

  using System.Web.UI.WebControls;

  public partial class Drawing : System.Web.UI.Page

  {

  protected void Page_Load(object sender, EventArgs e)

  {

  int[] data = { 100,200,300,460};

  Color[] colors={Color.Green,Color.Blue,Color.Yellow,Color.Tomato};

  Bitmap bm = new Bitmap(400,400);

  Graphics g = Graphics.FromImage(bm);

  g.Clear(Color.White);

  g.DrawString("饼图测试",new Font("宋体",16),Brushes.Red,new PointF(5,5));

  float totalValue = 0;

  foreach (int i in data)

  {

  totalValue += i;

  }

  float sweepAngle = 0;

  float startAngle = 0;

  int index=0;

  float x = 50f;

  float y = 50f;

  float width = 200f;

  foreach (int i in data)

  {

  sweepAngle=i/totalValue*360;

  g.FillPie(new SolidBrush(colors[index++]),x,y,width,width,startAngle,sweepAngle);

  //g.DrawPie(Pens.Black,x,y,width,width,startAngle,sweepAngle); //加边线代码

  startAngle += sweepAngle;

  }

  bm.Save(Response.OutputStream,ImageFormat.Jpeg);

  g.Dispose();

  }

  }

  运行效果如下图所示:

ASP.Net页面生成饼图实例

  2.如果饼图要加边线,就将上面代码中加注释的代码部分取消注释,如下代码所示:

  

复制代码 代码如下:
g.DrawPie(Pens.Black,x,y,width,width,startAngle,sweepAngle);

  运行结果如下图:

ASP.Net页面生成饼图实例

  希望本文所述对大家的asp.net程序设计有所帮助。