ASP.NET绘制条形图

来源:互联网 发布:线隔电脑编程教学 编辑:程序博客网 时间:2024/06/05 10:38

    首先给出一个实例代码:

            //设置与Page关联的HttpResponse对象的ContentType属性。该对象可将HTTP响应数据发送到客户端,并包含该响应的相关信息
            Response.ContentType = "image/gif";

            //新建指定大小的位图
            Bitmap drawBp = new Bitmap(250, 250);
            //封装GDI绘图面
            Graphics g = Graphics.FromImage(drawBp);
            //清除整个绘图面,并以白色填充
            g.Clear(Color.White);

            //获取商品销售表中的商品种类
            int count = ds.Tables[0].Rows.Count;

            //绘制商品销售条形图
            for (int r = 0; r < count-1; r++)
            {
                newRow = ds.Tables[0].Rows[r+1];
                //将字符串数据转化数字数据
                string ss = newRow[col].ToString();
                int h = Convert.ToInt32(ss);

                //创建画笔
               SolidBrush sBrush = new SolidBrush(Color.FromArgb(255-20*r,20*r,0));
                //修改条形图的起始坐标
               int x = r * 20;
                //绘制条形图
                g.FillRectangle(sBrush,x+2*r,100-h,20,h);
            }
            //保存图片
            drawBp.Save(Response.OutputStream, ImageFormat.Gif);

 

    以上需要有几个类需要注意:

首先:Bitmap 类用于加载和显示光栅图像,MetaFile类用于加载和显示矢量图像;

其次,Graphics 对象表示GDI+绘图表面,是用于创建图形图像的对象,常见用法是Graphics g = Graphics.FromImage(drawBp);

最后,FillRectangle,其功能是由一对坐标,一个宽度和一个一个高度指定的矩形内部。

 

     想要引用这个图像的话,可以在引用页面添加一个IMAGE控件,然后设置其ImageUrl属相为拥有上面那段代码的页面

 

原创粉丝点击