创建了一个类 /// <summary>
/// GDI+柱状图
/// </summary>
public void Histogram()
{
//创建一个画布
Bitmap bm = new Bitmap(240, 210);
//在新建的画布上画一个图
Graphics bp = Graphics.FromImage(bm);
//设置bp的背景色为Beige
bp.Clear(Color.Beige);
//创建数据源,在此为一个数组
int[] a1 ={ 20, 40, 60, 80, 100, 120, 140, 160 };
bp.DrawRectangle(Pens.Black, 1, 1, 230, 205);
//通过循环画出柱状图
for (int i = 0; i < a1.Length; i++)
{
//填充图(着色,起点X,起点Y,宽,高)
bp.FillRectangle(new SolidBrush(Color.Blue), (i * 30) + 5, 200 - a1[i], 5, a1[i] + 5);
//填充边框(着色,起点X,起点Y,宽,高)
bp.DrawRectangle(Pens.Black, (i * 30) + 5, 200 - a1[i], 5, a1[i] + 5);
}
//以gif格式输出到IE上
bm.Save(HttpContext.Current.Response.OutputStream, ImageFormat.Gif);
}
然后创建一个aspx页面调用这个方法
再IE显示正常,再FF下显示的就全是乱码
/// GDI+柱状图
/// </summary>
public void Histogram()
{
//创建一个画布
Bitmap bm = new Bitmap(240, 210);
//在新建的画布上画一个图
Graphics bp = Graphics.FromImage(bm);
//设置bp的背景色为Beige
bp.Clear(Color.Beige);
//创建数据源,在此为一个数组
int[] a1 ={ 20, 40, 60, 80, 100, 120, 140, 160 };
bp.DrawRectangle(Pens.Black, 1, 1, 230, 205);
//通过循环画出柱状图
for (int i = 0; i < a1.Length; i++)
{
//填充图(着色,起点X,起点Y,宽,高)
bp.FillRectangle(new SolidBrush(Color.Blue), (i * 30) + 5, 200 - a1[i], 5, a1[i] + 5);
//填充边框(着色,起点X,起点Y,宽,高)
bp.DrawRectangle(Pens.Black, (i * 30) + 5, 200 - a1[i], 5, a1[i] + 5);
}
//以gif格式输出到IE上
bm.Save(HttpContext.Current.Response.OutputStream, ImageFormat.Gif);
}
然后创建一个aspx页面调用这个方法
再IE显示正常,再FF下显示的就全是乱码
另,bp,bm最好dispose一下。
bm.Save(Server.MapPath("~/" + DateTime.Now.Ticks.ToString() + ".gif"),ImageFormat.Gif);