您的位置:首页 > 编程语言 > ASP

ASP.Net页面生成饼图

2014-03-09 22:25 141 查看
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);
            startAngle += sweepAngle;

        }

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

        g.Dispose();

    }

}



2.如果饼图要加边线,就在上面红色代码下加如下代码:

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

运行结果如下图:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: