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);
运行结果如下图:
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);
运行结果如下图:
相关文章推荐
- 利用UrlRewrite,asp.net动态生成htm页面(补充说明2)
- ASP.NET动态生成HTML页面
- [导入]在ASP.NET 2.0中直接得到本页面生成的HTML代码
- Asp.Net 上传大文件专题(2)--页面生成流程
- ASP.NET生成静态HTML页面并分别按年月目录存放
- ASP_NET动态生成html页面
- 在ASP.NET 2.0中直接得到本页面生成的HTML代码
- ASP.NET页面是怎样生成的
- 生成静态页面——C#+asp.net
- ASP.NET动态生成html页面
- 利用UrlRewrite,asp.net动态生成htm页面【收藏】
- 在ASP.NET 2.0中直接得到本页面生成的HTML代码(转自孟宪会之精彩世界)
- 在ASP.NET 2.0中直接得到本页面生成的HTML代码
- ASP.NET 生成HTML静态页面实例
- [转]Asp.net动态生成html页面
- 利用UrlRewrite,asp.net动态生成htm页面(补充说明2)
- ASP.NET生成HTML页面
- ASP.Net的页面生成周期
- asp.net 生成静态页面
- 利用UrlRewrite,asp.net动态生成htm页面