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(); } }

运行效果如下图所示:

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

g.DrawPie(Pens.Black,x,y,width,width,startAngle,sweepAngle);

运行结果如下图:

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