- Posted by Admin on March 8, 2009
This is a sample code that generates random height bar chart. To generate chart according to your data you need to change the rnd.Next(280) field of the code.
System.Drawing.Bitmap b = new System.Drawing.Bitmap(730, 300);
for (int i = 0; i < b.Width; i++)
{
for (int j = 0; j < b.Height; j++)
{
b.SetPixel(i, j, System.Drawing.Color.FromArgb(216, 216, 216));
}
}
Random rnd = new Random(10);
int BarCount = 0;
for (int i = 0; i < b.Width; i++)
{
b.SetPixel(i, 0, System.Drawing.Color.YellowGreen);
b.SetPixel(i, 50, System.Drawing.Color.YellowGreen);
b.SetPixel(i, 100, System.Drawing.Color.YellowGreen);
b.SetPixel(i, 150, System.Drawing.Color.YellowGreen);
b.SetPixel(i, 200, System.Drawing.Color.YellowGreen);
b.SetPixel(i, 250, System.Drawing.Color.YellowGreen);
}
for (int i = 20; i < b.Width; i = i + 30)
{
BarCount++;
if (BarCount == 25)
{
break;
}
for (int j = rnd.Next(280); j < b.Height; j++)
{
b.SetPixel(i + 9, j, System.Drawing.Color.Green);
b.SetPixel(i + 8, j, System.Drawing.Color.Green);
b.SetPixel(i + 7, j, System.Drawing.Color.Green);
b.SetPixel(i + 6, j, System.Drawing.Color.Green);
b.SetPixel(i + 5, j, System.Drawing.Color.Green);
b.SetPixel(i + 4, j, System.Drawing.Color.Green);
b.SetPixel(i + 3, j, System.Drawing.Color.Green);
b.SetPixel(i + 2, j, System.Drawing.Color.Green);
b.SetPixel(i + 1, j, System.Drawing.Color.Green);
b.SetPixel(i, j, System.Drawing.Color.Green);
}
}
for (int i = 0; i < 1; i++)
{
for (int j = 0; j < b.Height; j++)
{
b.SetPixel(i, j, System.Drawing.Color.Black);
}
}
for (int i = 0; i < b.Width; i++)
{
for (int j = b.Height - 1; j < b.Height; j++)
{
b.SetPixel(i, j, System.Drawing.Color.Black);
}
}
b.Save(Server.MapPath("") + "\\Temp.jpg", System.Drawing.Imaging.ImageFormat.Jpeg);
ImageMap1.ImageUrl = "Temp.jpg";