如何在ASP.NET实现数据图表

        今天看了一篇文章,内容就是如何在ASP.NET实现数据图表,首先说明了如何创建一个简单的图;其次再说明了如何在创建的图上画线(line)和写字。要实现以上这些功能,我们必须引入以下几个命名空间:System.Drawing、System.Drawing.Drawing2D、System.Drawing.Imaging。

        一、先说一下如何在一个页面上创建一个简单的图。
            首先,我们需要实例化一个Bitmap对象
            Bitmap image = new Bitmap(400,400);     //两个参数分别是图片的width和height
            
            之后,利用类GraphicsFromImage()方法把之前实例化的Bitmap对象image作为参数传递给它,生成一个Graphics对象g;
            Graphics g= Graphics.FromImage(image);
            之后就可以调用g的FillEllipse、FillRectangle、FillPie等方法,为图片设置背景色、各个点的坐标位置等
            g.FillEllipse(new SolidBrush(Color.Yellow),0,0,400,400);
            g.FillPie(new SolidBrush(Color.Red),2,2,200,200,0,77);//画一个扇形,填充为红色。。。

           最后,我们利用image对象的Save()方法将该图片输出到客户端浏览器显示
            //以"Jpeg"格式保存此图片对象,在客户端显示出来
             image.Save(Response.OutputStream,ImageFormat.Jpeg);
        
            这样,一个单一的图片就生成了。

            二、如何在图片上画其他图像(比如线、字、椭圆、矩形等等)
               1、首先,自定义字体Font f = new Font( 参数列表),可以有很多种不同的重载方法,比如
                        Font f = new Font("宋体",20);          //定义字体为宋体,字体大小为20

               2、 之后,定义画笔 Pen penName = new Pen(参数列表),可以定义不同颜色、不同宽度的画笔。
                        Pen redPen = new Pen(Color.Red);       //定义红色画笔
                        Pen bluePen = new Pen(new SolidBrush(Color.Blue),4);    //定义蓝色画笔,画笔画出的线宽度为4

               3、可以调用上面Graphics对象g的各种Draw*方法,如DrawLine(画线)、DrawString(写字)等方法,实现自己需要的功能;比如:
                    g.DrawLine(redPen,200,200,250,100);         //用redPen画一条线,起始坐标分别为(200,200)和(250,100)
                    g.DrawRectangle(bluePen,40,40,250,200);   //用bluePen画一个矩形,左上角坐标为(40,40),矩形的宽度和高度分别为250和200
                    g.DrawString("你好吗?", f, new SolidBrush(Color.Yellow), 50, 50);  //写"你好吗?",字体为f,从(50,50)处开始写

               4、最后,再利用image对象的Save()方法将该图片输出到客户端浏览器显示
                //以"Jpeg"格式保存此图片对象,在客户端显示出来
                 image.Save(Response.OutputStream,ImageFormat.Jpeg);

            三、以上代码画出的效果如下:

%E6%9C%AA%E5%91%BD%E5%90%8D.JPG


                这只是关于System.Drawing命名空间下部分类的简单应用。应用该类还可以做出各种各样的形象、直观的图形,比如饼图、各种对比分析图等等。所以有待于进一步的熟悉以及很好的实践,才可以更好的掌握好这个功能。.Net将各种类封装的很好,我们现在只是利用它们提供的接口来进行应用上的开发;有兴趣的,也可以对底层的一些实现进行研究,应该也是很有意思的吧,呵呵

                自己本身不是高手,只是记录一些自己学习的东西;如果觉得简单,也希望大家一笑置之。



           



转载于:https://www.cnblogs.com/xinqqing83/archive/2006/01/10/314882.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值