用户ID: 密码: 验证:

登 录

注 册 取回密码

中山教育

中山国际网

中国教育在线

时代财富科技公司 FortuneAge Technology Co., Ltd. 校园博客客服网站(新)

我的资料

midpoint

博客信息

积分:2028
等级:4级 lv 4
日志总数:479
发表评论总数:24 ( 查看)
获得评论总数:39
发表留言总数:0
所属学校:三鑫
收藏本站:

最新公告

最新相册

我的日历

最新评论

最新留言

[全部留言] [发表留言]
SOGO学术论文网(http://www.sogoart....
马老师,你的博客,两个字,很好,我,一个字,顶!我常上你这...
中 国 教 育 学 会 函 件 ...
马老师,您好! 您的博客内容很丰富、知识性也很...
--书宏
马老师,谢谢您关于电脑学习的推荐!望不吝指教噢

RSS


首页 -> asp.net->生成图片验证码
生成图片验证码

文章转载自:http://

新建一个页面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,很方便吧。

网友评论

共 0 页,0 条记录  

用户名:
密码:
您的评论:
正在载入编辑器...
请输入验证码:


发 表 评 论

马军-中山教师家园