WEB开发网
开发学院WEB开发ASP.NET ASP.NET实现数据图表 阅读

ASP.NET实现数据图表

 2007-12-15 09:34:41 来源:WEB开发网   
核心提示:图01:利用ASP.NET动态创建图片 产生的是一个黑色的图片,很不美观,ASP.NET实现数据图表(2),下面就来给此图片上色,并且在此图片上面画线、写字等,当然你也可以使用本文中使用的方法来调用,就是定义每画一道线,(2).如何给产生得图片上色:其实给产生得图片上色是比较容易的,首先根据"Bitmap&q



        图01:利用ASP.NET动态创建图片

  产生的是一个黑色的图片,很不美观,下面就来给此图片上色,并且在此图片上面画线、写字等。

(2).如何给产生得图片上色:

  其实给产生得图片上色是比较容易的,首先根据"Bitmap"对象创建一个"Graphic"对象,然后根据此"Graphic"对象的方法来确定上色的图形类型(譬如显示的图片为椭圆、正方形等)。下面代码(chart4.aspx)的作用就是给chart3.aspx代码产生的图片上淡绿色:

<%@ Page Language = "C#" ContentType = "image/jpeg" %> 
<%@ Import Namespace = "System" %>
<%@ Import Namespace = "System.Drawing" %>
<%@ Import Namespace = "System.Drawing.Drawing2D" %>
<%@ Import Namespace = "System.Drawing.Imaging" %>
<html >
<head >
<script language = "C#" runat = "server" >
void Page_Load ( object sender , EventArgs e )
{
//创建一个"Bitmap"对象
Bitmap image = new Bitmap ( 400 , 400 ) ;
Graphics g = Graphics . FromImage ( image ) ;
g . FillRectangle ( new SolidBrush ( Color . LightGreen ) , 0 , 0 , 400 , 400 ) ;
//以"Jpeg"格式保存此图片对象,在客户端显示出来
image . Save ( Response . OutputStream , ImageFormat . Jpeg ) ;
}
</script >
</head >
<body >
</body >
</html >

  下图是chart4.aspx运行的界面:


        图02:给产生的图片上色


  当然你不仅可以定制所产生的图片颜色,还可以定制产生的图片的形状,下面代码段的功能就是定制图片的形状为椭圆:

<%@ Page Language = "C#" ContentType = "image/jpeg" %> 
<%@ Import Namespace = "System" %>
<%@ Import Namespace = "System.Drawing" %>
<%@ Import Namespace = "System.Drawing.Drawing2D" %>
<%@ Import Namespace = "System.Drawing.Imaging" %>
<html >
<head >
<script language = "C#" runat = "server" >
void Page_Load ( object sender , EventArgs e )
{
//创建一个"Bitmap"对象
Bitmap image = new Bitmap ( 400 , 400 ) ;
Graphics g = Graphics . FromImage ( image ) ;
g . FillRectangle ( new SolidBrush ( Color . LightGreen ) , 0 , 0 , 400 , 400 ) ;
//以"Jpeg"格式保存此图片对象,在客户端显示出来
image . Save ( Response . OutputStream , ImageFormat . Jpeg ) ;
}
</script >
</head >
<body >
</body >
</html >

  下图是此代码的运行界面:


        图03:定制图片的形状

  当然还可以使用"Graphic"对象的其他方法把图片定制成其他形状,这就不一一介绍了。

(3).如何在图片上实现画线和写字:

  在图片上写字是通过产生的"Graphic"对象的DrawString ( )方法来实现的,在调用此方法前,必须设置字体和刷子,具体调用方法是:

public void DrawString ( 
string s ,
Font font ,
Brush brush ,
float x ,
float y
) ;

"s"是要输出的字符串,"font"是字符串的字体,"brush"是定义刷子,后面二个参数是产生字符串的位置坐标。在程序中产生字符串的具体语句如下:

Font axesFont = new Font ( "arial" , 10 ) ;
Brush blackBrush = new SolidBrush ( Color . Red ) ;
g . DrawString ( "在图片上面写入文字,呵呵" , axesFont , blackBrush , 90 , 20 ) ;
 
  要在图片上画线要使用到"Graphic"对象的DrawLine ( )方法,具体的使用语法如下:

public void DrawLines (
Pen pen ,
Point [ ] points
) ;

  其中"points"是定义点的位置,当然你也可以使用本文中使用的方法来调用,就是定义每画一道线,这样我感觉更方法些。下面是在产生的图片上画出三条线:

Tags:ASP NET 实现

编辑录入:coldstar [复制链接] [打 印]
赞助商链接