• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    asp.net如何生成圖片驗證碼(簡單)

    發布: 2007-7-14 19:37 | 作者: 佚名    | 來源: 網絡轉載     | 查看: 23次 | 進入軟件測試論壇討論

    領測軟件測試網 新建一個頁面image.aspx,添加命名空間:

    using System.Drawing.Imaging;
    using System.IO;


      然后在Page_load事件拷入如下代碼:

       //生成4位的驗證碼
       string tmp = RndNum(4);
       HttpCookie a = new HttpCookie("ImageV",tmp);   
       Response.Cookies.Add(a);
       this.ValidateCode(tmp);

      接下來向該頁面添加兩個方法:

    private void ValidateCode(string VNum)
      {
       Bitmap Img=null;
       Graphics g=null;
       MemoryStream ms=null;

       int gheight=VNum.Length*12;
       Img=new Bitmap(gheight,25);
       g=Graphics.FromImage(Img);
       //背景顏色
       g.Clear(Color.White);
       //文字字體
       Font f=new Font("Arial Black",10);
       //文字顏色
       SolidBrush s=new SolidBrush(Color.Black);
       g.DrawString(VNum,f,s,3,3);
       ms=new MemoryStream();
       Img.Save(ms,ImageFormat.Jpeg);
       Response.ClearContent();
       Response.ContentType="image/Jpeg";
       Response.BinaryWrite(ms.ToArray());
       
       g.Dispose();
       Img.Dispose();
       Response.End();
      }

      private string RndNum(int VcodeNum)
      {
       string Vchar="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";
       string[] VcArray=Vchar.Split(new Char [] {','});
       string VNum="";
       int temp=-1;

       Random rand=new Random();
       
       for(int i=1;i<VcodeNum+1;i++)
       {
        if(temp!=-1)
        {
         rand=new Random(i*temp*unchecked((int)DateTime.Now.Ticks));
        }
       
        int t=rand.Next(35);
        if(temp!=-1&&temp==t)
        {
         return RndNum(VcodeNum);
        }
        temp=t;
        VNum+=VcArray[t];
       }
       return VNum;
      }

         如果要在頁面a.aspx生成驗證碼,則在該頁面添加一個圖片控件,假設命名為:ImageButton1,然后在page_Load事件中寫如下代碼:

    ImageButton1.ImageUrl = "image.aspx";

        這樣就可以生成驗證碼了,image.aspx頁面可以隨便放在哪里,不過要注意ImageButton1.ImageUrl 要寫對,同級可以直接寫image.aspx,上一級寫../image.aspx,很方便吧。

        該方法是我的同事在用的方法,我覺得挺不錯,所以保存一下。


    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>