创建了一个类        /// <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下显示的就全是乱码

解决方案 »

  1.   

    没有显示文字的地方啊,再说,gdi+生成的是图片,对于浏览器来说,图片里的东西,不可能变掉了。
    另,bp,bm最好dispose一下。
      

  2.   

    ff里直接输出成文本了,建议先保存成文件,再用<img>标签来显示
    bm.Save(Server.MapPath("~/" + DateTime.Now.Ticks.ToString() + ".gif"),ImageFormat.Gif);
      

  3.   

    FF是什么?? 用个IMAGE控件就能显示啊
      

  4.   

    response.type需要指定成Image 具体语句我忘记了