Color [] colors={Color.Red,Color.Green,Color.Yellow,Color.Gray,Color.Black};
int[] data = { 100,200,300,400};
Bitmap bm = new Bitmap(800, 800);
Graphics g = Graphics.FromImage(bm);
g.Clear(Color.White);
g.DrawString("饼图测试", new Font("宋体", 16), Brushes.Red, new PointF(0,0));
float totalValue = 0;
foreach (int i in data)
{
totalValue += i;
}
float sweepAngle = 0;
float startAngle = 0;
int index = 0;
foreach (int i in data)
{
sweepAngle = i / totalValue * 360;
g.FillPie(new SolidBrush(colors[index]), 50, 50, 200, 200, startAngle, sweepAngle);
g.DrawPie(Pens.Black, 50, 50, 200, 200, startAngle, sweepAngle);
startAngle += sweepAngle;
index += 1;
}
bm.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);
g.Dispose();