首页 > 编程 > .NET > 正文

ASP.NET实现数据图表b

2024-07-10 13:04:39
字体:
来源:转载
供稿:网友
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 >



发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表