当前位置 : 站长助手>杂学助手>列表

教你用asp.net生成图片验证码

来源:本站整理 作者:不详 时间:2008-01-18 点击:178

新建一个页面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 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
网络称呼:
匿名发布
热点关注
    大家都想过要查看别人QQ空间的相册的照片,现在我交大家如何查看的方法
    频道覆盖全球热门电视直播、财经资讯直播、热门电影、热门娱乐综艺节目、体育赛事、影视剧节目等二十多个大类。 节目频道达到5000多套!电影、电视、体育赛事直播、综艺
    酷我音乐盒作为国内首创的多种音乐资源聚合、播放软件,她具有以下特点: * 20万首海量歌曲及MV资源 * 一点即播的试听享受。将网络资源变成你的资源 * 支持P2SP歌
    WAP浏览器是一个通过把WAP网站WML格式的网页转化成(转换成、翻译成)
    将以上QQ空间免费皮肤对应的代码粘贴到浏览器地址栏中(也就是输入网址那里),
    如何怎么怎样xp开机密码设置、电脑密码设置、计算机密码设置、bios设置开机密码取消给
相关文章
    只要在你页面放一个视频代码,按照广告播放完成数计算分成收入,人民币8元/1000次.
    JAR(Java ARchive,Java 归档)是一种与平台无关的文件格式,可将多个文件合成一个文件。
    KDJ指标的应用法则KDJ指标是三条曲线,在应用时主要从五个方面进行考虑:KD的取值的绝对数字;KD曲线的形态;KD指标的交叉;KD指标的背离;J指标的取值大小。
    8j.com是一MS-DOS程序,会在windows\systerm32\drivers文件夹下生成spoclsv.exe文件,即熊猫烧香病毒,用专杀工具杀了后只要上网就会重新感染.
    qq空间fd模块Qzone是一个专属于您自己的个性空间,是一种为新新人类提供的全新的网络生活方式。
    威廉指标主要是通过分析一段时间内股价最高价、最低价和收盘价之间的关系, 来判断股市的超买超卖现象,预测股价中短期的走势。