bird

 

Delegate比较全面的例子

#region 实现一个验证码的类 

public class ValidateCode 

private Bitmap validateimage; 
private Graphics g; 
public ValidateCode() 

validateimage 
= new Bitmap(12030, PixelFormat.Format24bppRgb); 
= Graphics.FromImage(validateimage); 
}
 

public void DrawValidateCode(Page e, string i) 

g.DrawString(i, 
new Font("黑体",16,FontStyle.Bold),new SolidBrush(Color.White),new PointF(2,4)); 
g.FillRectangle(
new LinearGradientBrush(new Point(0,0), new Point(120,30), Color.FromArgb(0,0,0,0),Color.FromArgb(255,255,255,255)),0,0,120,30);  
//validateimage.Save(e.OutputStream, ImageFormat.Jpeg); 
g.Save(); 
MemoryStream ms
=new MemoryStream(); 
validateimage.Save(ms,System.Drawing.Imaging.ImageFormat.Gif); 
e.Response.ClearContent(); 
e.Response.ContentType
="image/gif"
e.Response.BinaryWrite(ms.ToArray()); 
e.Response.End(); 
//validateimage.Save(e.MapPath("NumImage/ValidateImage.gif"), ImageFormat.Gif); 
//e.End(); 
}
 
}
 

#endregion
 

private void MakeValidateCode() 

char[] s = new char[]{'0','1''2','3','4','5','6','7','8','9','a' 
,
'b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q' 
,
'r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G' 
,
'H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W' 
,
'X','Y','Z'}

string num = ""
Random r 
= new Random(); 
for(int i = 0; i < 5; i++

num 
+= s[r.Next(0, s.Length)].ToString();  
}
 
((LoginUserInfo)Session[
"LoginUserInfo"]).ValidateNum = num; 
TextBox3.Text 
= ""
}
 

posted on 2007-08-16 16:28  鸟人  阅读(110)  评论(0编辑  收藏  举报

导航