ASP.NET实现数据图表b

王朝asp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

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

Pen redPen = new Pen ( Color . Red , 1 ) ;

Pen blackPen = new Pen ( Color . Blue , 2 ) ;

//以下语句是在此图片对象上画出各种线条,可以定义线条的粗细、起点、终点等

g . DrawLine ( blackPen , 0 , 2 , 210 , 250 ) ;

g . DrawLine ( blackPen , 210 , 250 , 310 , 50 ) ;

g . DrawLine ( redPen , 310 , 50 , 210 , 350 ) ;

知道了这些基本知识,在定制图片形状,给图片上色,在图片上写字、画线就显得比较容易了,下面代码(chart2.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 image = new Bitmap ( 400 , 400 ) ;

Font axesFont = new Font ( "arial" , 10 ) ;

Brush blackBrush = new SolidBrush ( Color . Red ) ;

Pen redPen = new Pen ( Color . Red , 1 ) ;

Pen blackPen = new Pen ( Color . Blue , 2 ) ;

Graphics g = Graphics . FromImage ( image ) ;

g . Clear ( Color . White ) ;

g . FillRectangle ( new SolidBrush ( Color . LightGreen ) , 0 , 0 , 400 , 400 ) ;

//在此图片对象中画出图片,可以定义文字大小、位置、色彩等

g . DrawString ( "在图片上面写入文字,呵呵" , axesFont , blackBrush , 90 , 20 ) ;

//以下语句是在此图片对象上画出各种线条,可以定义线条的粗细、起点、终点等

g . DrawLine ( blackPen , 0 , 2 , 210 , 250 ) ;

g . DrawLine ( blackPen , 210 , 250 , 310 , 50 ) ;

g . DrawLine ( redPen , 310 , 50 , 210 , 350 ) ;

//以"Jpeg"格式保存此图片对象,在客户端显示出来

// image . Save ( Response . OutputStream , ImageFormat . Jpeg ) ;

image . Save ( Response . OutputStream , ImageFormat . Jpeg ) ;

}

</script >

</head >

<body >

</body >

</html >

图04:在图片上完成画线、写字和上色

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航