Chinaunix首页 | 论坛 | 博客
  • 博客访问: 621352
  • 博文数量: 105
  • 博客积分: 10013
  • 博客等级: 上将
  • 技术积分: 985
  • 用 户 组: 普通用户
  • 注册时间: 2006-03-31 21:04
个人简介

窥天地之奥 达造化之极

文章分类

全部博文(105)

文章存档

2015年(1)

2010年(3)

2009年(2)

2008年(2)

2007年(2)

2006年(95)

分类:

2006-12-28 17:30:59

ASP.net 验证码( C# ) 
  ValidateCode : System.Web.UI.Page 
{ 
      Page_Load(  sender, System. e ) 
    { 
        .CreateCheckCodeImage( GenerateCheckCode( ) ); 
    } 
    
    #region web 窗体设计器生成的代码 
       OnInit(  e ) 
    { 
        // 
        // CODEGEN: 该调用是 asp.NET web 窗体设计器所必需的. 
        // 
        InitializeComponent( ); 
        .OnInit( e ); 
    } 
    
    ///  
    /// 设计器支持所需的方法 - 不要使用代码编辑器修改 
    /// 此方法的内容. 
    ///  
      InitializeComponent( ) 
    { 
        .Load +=  System.EventHandler( .Page_Load ); 
    } 
    #endregion 
    
      GenerateCheckCode( ) 
    { 
         number; 
         code; 
         checkCode = String.Empty; 
        
        System.Random random =  Random( ); 
        
        (  i=0; i<5; i++ ) 
        { 
            number = random.Next( ); 
            
            ( number % 2 == 0 ) 
            code = (  )( '0' + (  )( number % 10 ) ); 
             
            code = (  )( 'A' + (  )( number % 26 ) ); 
            
            checkCode += code.ToString( ); 
        } 
        
        Response.Cookies.Add(  HttpCookie( "CheckCode", checkCode ) ); 
        
         checkCode; 
    } 
    
      CreateCheckCodeImage(  checkCode ) 
    { 
        ( checkCode ==  || checkCode.Trim( ) == String.Empty ) 
        ; 
        
        System.Drawing.Bitmap image =  System.Drawing.Bitmap( (  )Math.Ceiling( ( checkCode.Length * 12.5 ) ), 22 ); 
        Graphics g = Graphics.FromImage( image ); 
        
         
        { 
            //生成随机生成器 
            Random random =  Random( ); 
            
            //清空图片背景色 
            g.Clear( Color.White ); 
            
            //画图片的背景噪音线 
            (  i=0; i<25; i++ ) 
            { 
                 x1 = random.Next( image.Width ); 
                 x2 = random.Next( image.Width ); 
                 y1 = random.Next( image.Height ); 
                 y2 = random.Next( image.Height ); 
                
                g.DrawLine(  Pen( Color.Silver ), x1, y1, x2, y2 ); 
            } 
            
            Font font =  System.Drawing.Font( "Arial", 12, ( System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic ) ); 
            System.Drawing.Drawing2D.LinearGradientBrush brush =  System.Drawing.Drawing2D.LinearGradientBrush(  Rectangle( 0, 0, image.Width, image.Height ), Color.Blue, Color.DarkRed, 1.2f,  ); 
            g.DrawString( checkCode, font, brush, 2, 2 ); 
            
            //画图片的前景噪音点 
            (  i=0; i<100; i++ ) 
            { 
                 x = random.Next( image.Width ); 
                 y = random.Next( image.Height ); 
                
                image.SetPixel( x, y, Color.FromArgb( random.Next( ) ) ); 
            } 
            
            //画图片的边框线 
            g.DrawRectangle(  Pen( Color.Silver ), 0, 0, image.Width - 1, image.Height - 1 ); 
            
            System.IO.MemoryStream ms =  System.IO.MemoryStream( ); 
            image.Save( ms, System.Drawing.Imaging.ImageFormat.Gif ); 
            Response.ClearContent( ); 
            Response.ContentType = "image/Gif"; 
            Response.BinaryWrite( ms.ToArray( ) ); 
        } 
         
        { 
            g.Dispose( ); 
            image.Dispose( ); 
        } 
    } 
}
阅读(1730) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~