ASP.NET CAPTCHA画像を達成するために

、 'G'、 'H'、 'J'、 'K'、 'L'、 'M'、 'N'、 'P'、 'R'、 'S'、 'T'、 'W'、 ' X」、 'Y'}。        ランダムRND =新しいランダム();  












        //生成验证码字符串  
        ため(INT i = 0; iは<4; I ++)  
        {  
            chkCode + =キャラクタ[rnd.Next(character.Length)]。  
        }  
        ビットマップBMP =新しいビットマップ(IX、IY)。  
        グラフィックG = Graphics.FromImage(BMP)。  
        g.Clear(Color.White)。  
        //画噪线  
        (INT i = 0; iが10 <; I ++)のために  
        {  
            int型X1を= rnd.Next(IX)。  
            INT Y1 = rnd.Next(IY)。  
            int型×2 = rnd.Next(IX);  
            INT Y2 = rnd.Next(IY)。  
            色CLR =カラー[rnd.Next(color.Length)]。  
            g.DrawLine(新しいペン(CLR)、X1、Y1、X2、Y2);  
        }  
        //画验证码字符串  
        ため(INT i = 0; iはchkCode.Lengthを<; iは++)  
        {  
            文字列FNT =フォント[rnd.Next(font.Length)]。  
            フォントFT =新しいフォント(FNT、14、FontStyle.Bold)。  
            色CLR =カラー[rnd.Next(color.Length)]。  
            g.DrawString(chkCode [I])(.ToString、フィート、新しいSolidBrush(CLR)、(フロート)iは、フロート(16 + 2 *)2)。  
        }  
        //画噪点  
        ため(INT i = 0; iは50 <; Iは++)  
        {  
            int型のx = rnd.Next(bmp.Width)。  
            Y INT = rnd.Next(bmp.Height)。  
            色CLR =カラー[rnd.Next(color.Length)]。  
            bmp.SetPixel(X、Y、CLR)。  
        }
        コードをSESSIONを書く//
        ; = chkCode.ToLower()[ "チェックコード"]セッション
        //ページ出力キャッシュ、キャッシュ設けないページ消去  
        でResponse.Buffer = TRUEにし、  
        Response.ExpiresAbsolute = System.DateTime.Now .AddMilliseconds(0);  
        Response.Expires = 0;  
        Response.CacheControl = "NO-キャッシュ";  
        Response.AppendHeader( "プラグマ"、 "キャッシュなし");  
        //メモリ書き込み検証映像ストリーム、及びその出力「画像/ PNG形式」のフォーマット  
        ; =新しい新規のMemoryStreamのMemoryStream()MS  
        試行  
        {  
            bmp.Save(MS、ImageFormat.Png);  
            Response.ClearContent();  
            Response.ContentTypeの= "画像/ PNGファイル";  
            Response.BinaryWrite(ms.ToArray());  
        }  
        最後に  
        {  
            //明示的リソース解放  
            bmp.Disposeを();  
            g.Dispose();  
        }   

login.aspxの、画像制御IMAGEURL = "checkcode.aspx"缶を提供追加。
<ASP:イメージID = "画像1 "にrunat = "サーバー" οnclick= ImageAlign = "中央"ツールヒントは= " 私をタップし、私を見て!" / "this.src = this.src + '?'">
onclickのの一つがTooTip属性と非常に便利なことに注意してください!または使用します。
<スパンのスタイル= "カーソル:ポインタ ;テキスト装飾:下線;" οnclick= "のdocument.getElementById( 'イメージ1')SRC =のdocument.getElementById( 'イメージ1')のsrc + .. '?'"> トランスデューサ</ span>の

入力検出は、テキスト入力ボックスを読み取ることができ、およびセッションの値が比較されます。

おすすめ

転載: www.cnblogs.com/zoujinhua/p/11244861.html