最近写的一个验证码.

最近写的一个验证码. <% @ Import Namespace = " System.Web " %>
最近写的一个验证码.
<% @ Import Namespace = " System.Drawing " %>
最近写的一个验证码.
<% @ Import Namespace = " System.Drawing.Drawing2D " %>
最近写的一个验证码.
< script runat = " server "  language = " c# " >
最近写的一个验证码.
void  Page_Load(Object Src, EventArgs E)
最近写的一个验证码.
{
最近写的一个验证码.    CreateCheckCodeImage();
最近写的一个验证码.}

最近写的一个验证码.
最近写的一个验证码.
private   string  GenerateCheckCode()
最近写的一个验证码.
{
最近写的一个验证码.    
int number;
最近写的一个验证码.    
char code;
最近写的一个验证码.    
string checkCode = String.Empty;
最近写的一个验证码.    System.Random random 
= new Random();
最近写的一个验证码.    
int count = 4;//random.Next(3,6);
最近写的一个验证码.
    for(int i=0; i<count; i++)
最近写的一个验证码.    
{
最近写的一个验证码.        number 
= random.Next();
最近写的一个验证码.        
if(number % 2 == 0)
最近写的一个验证码.            code 
= (char)('0' + (char)(number % 10));
最近写的一个验证码.        
else
最近写的一个验证码.            code 
= (char)('A' + (char)(number % 26));
最近写的一个验证码.        checkCode 
+= code.ToString();
最近写的一个验证码.    }

最近写的一个验证码.    Session[
"CheckCode"]=checkCode;
最近写的一个验证码.    
return checkCode;
最近写的一个验证码.}

最近写的一个验证码. 
private   static  Font[] fonts  =   new  Font[] {
最近写的一个验证码.    
new System.Drawing.Font("Arial"20, System.Drawing.FontStyle.Regular),
最近写的一个验证码.     
new System.Drawing.Font("Arial"24, System.Drawing.FontStyle.Italic),
最近写的一个验证码.      
new System.Drawing.Font("Batang",20,System.Drawing.FontStyle.Regular),
最近写的一个验证码.    
new System.Drawing.Font("Batang",26,System.Drawing.FontStyle.Italic),
最近写的一个验证码.    
new System.Drawing.Font("Courier",28,System.Drawing.FontStyle.Regular),
最近写的一个验证码.     
new System.Drawing.Font("Courier",26,System.Drawing.FontStyle.Italic),
最近写的一个验证码.    
new System.Drawing.Font("Arial",20,System.Drawing.FontStyle.Bold)
最近写的一个验证码.}
;
最近写的一个验证码.
private   static  Brush[] brushs  =   new  Brush[] {
最近写的一个验证码.    
//new HatchBrush(HatchStyle.Percent30, color, Color.White),
最近写的一个验证码.
    new HatchBrush(HatchStyle.Percent40, color, Color.White),
最近写的一个验证码.    
//new HatchBrush(HatchStyle.Percent25, color, Color.White),
最近写的一个验证码.    
//new HatchBrush(HatchStyle.SmallCheckerBoard, color, Color.White)
最近写的一个验证码.
}
;
最近写的一个验证码.
private   static  Color color  =  Color.Black;
最近写的一个验证码.
private   void  CreateCheckCodeImage()
最近写的一个验证码.
{
最近写的一个验证码.  
string codeStr = GenerateCheckCode();
最近写的一个验证码.  
int height = 40;
最近写的一个验证码.  
最近写的一个验证码.  
int witdh = 30 * codeStr.Length;
最近写的一个验证码.  Bitmap image 
= new Bitmap(witdh, height);
最近写的一个验证码.  Graphics g 
= Graphics.FromImage(image);
最近写的一个验证码.  Random rnd 
= new Random();
最近写的一个验证码.  Brush brush 
= brushs[rnd.Next(brushs.Length)];
最近写的一个验证码.  g.FillRectangle(brush, 
00, witdh, height);
最近写的一个验证码.  Font font 
= new System.Drawing.Font("Arial"24, System.Drawing.FontStyle.Regular);
最近写的一个验证码.  LinearGradientBrush b 
= new LinearGradientBrush(new Point(00), new Point(40100), color,color);
最近写的一个验证码.  
最近写的一个验证码.  
for (int i = 0; i < codeStr.Length; i++)
最近写的一个验证码.  
{
最近写的一个验证码.      Point p 
= new Point(i * 25 + rnd.Next(-35), rnd.Next(-35));
最近写的一个验证码.      g.DrawString(codeStr[i].ToString(), fonts[rnd.Next(fonts.Length)], b, p);
最近写的一个验证码.  }

最近写的一个验证码.  System.IO.MemoryStream ms 
= new System.IO.MemoryStream();
最近写的一个验证码.  image.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);
最近写的一个验证码.  Response.ClearContent();
最近写的一个验证码.  Response.ContentType 
= "image/Gif";
最近写的一个验证码.  Response.BinaryWrite(ms.ToArray());
最近写的一个验证码.}

最近写的一个验证码.
</ script >
风云

你可能感兴趣的:(验证码)