您的位置:首页 > 编程语言 > ASP

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

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

一、先说一下如何在一个页面上创建一个简单的图。
首先,我们需要实例化一个Bitmap对象
Bitmap image = new Bitmap(400,400); //两个参数分别是图片的width和height

之后,利用类Graphics的FromImage()方法,把之前实例化的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);

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




[/b]

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

自己本身不是高手,只是记录一些自己学习的东西;如果觉得简单,也希望大家一笑置之。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: