ASP.NET输出绘制图形
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
protected void Page_Load(object sender, EventArgs e)
{
int[] data = { 100, 200, 300, 400,66,55,777,435,634,454,634,443,352,546,635,454,454,5,535, };
//饼的颜色
Color[] colors = { Color.Red, Color.LightCoral, Color.LightCyan, Color.LightGray, Color.LightGreen, Color.LightPink, Color.LightSeaGreen };
//要绘制的对象
Bitmap bm = new Bitmap(400, 400);
Graphics g = Graphics.FromImage(bm);
g.Clear(Color.Silver);
g.DrawString("饼图测试", new Font("宋体", 16), Brushes.Red, new PointF(4, 4));
float totalValue = 0;
foreach (float i in data)
{
totalValue += i;
}
float sweepAngle = 0;//本次经过角度
float startAngle = 0;//本次起始角度
float x = 50f;//饼所在的矩形方位。
float y = 50f;
float width = 300;
for(int i=0;i<data.Length;i++)
{
sweepAngle = data[i] / totalValue * 360;
//
g.FillPie(new SolidBrush(colors[i % colors.Length]), x, y, width, width, startAngle, sweepAngle);
g.DrawPie(Pens.Indigo, x, y, width, width, startAngle, sweepAngle);
startAngle += sweepAngle;
}
//图形输出方式
bm.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Gif);
g.Dispose();
}
posted on 2010-08-02 21:39 Henry_Wang 阅读(196) 评论(0) 编辑 收藏 举报