当前位置: 移动技术网 > IT编程>开发语言>.net > asp.net验证码的简单制作

asp.net验证码的简单制作

2017年12月12日  | 移动技术网IT编程  | 我要评论

防暴叉,051jk,大唐情史txt

实际上关于asp.net验证码制作的文章已经很多很多了,但是今天还是要和大家继续分享,亲,可以综合几篇实例,编写出适用于自己网站的asp.net验证码,大概也就两大部分:

先建立一个asp.net窗体validatecode.aspx;不写任何东西。直接在后台validatecode.aspx.cs中写如下代码:

    protected void page_load(object sender, eventargs e)
    {      
      string validatecode = createvalidatecode();//生成验证码 
      bitmap bitmap = new bitmap(imgwidth,imgheight);//生成bitmap图像 
      disturbbitmap(bitmap); //图像背景 
      drewvalidatecode(bitmap,validatecode);//绘制验证码图像 
      bitmap.save(response.outputstream,imageformat.gif);//保存图像,等待输出 

    }

    private int codelen = 4;//验证码长度 
    private int fineness = 85;//图片清晰度 
    private int imgwidth = 48;//图片宽度 
    private int imgheight = 24;//图片高度 
    private string fontfamily = "times new roman";//字体名称 
    private int fontsize = 14;//字体大小 
    //private int fontstyle = 0;//字体样式 
    private int posx = 0;//绘制起始坐标x 
    private int posy = 0;//绘制坐标y 
    private string createvalidatecode() //生成验证码 
    {
      string validatecode = "";
      random random = new random();// 随机数对象 
      for (int i = 0; i < codelen; i++)//循环生成每位数值 
      {
        int n = random.next(10);//数字 
        validatecode += n.tostring();
      }
      session["vcode"] = validatecode;//保存验证码 这session是在前台调用的。
      return validatecode;// 返回验证码 
    }

    private void disturbbitmap(bitmap bitmap)//图像背景 
    {
      random random = new random();//通过随机数生成 
      for (int i = 0; i < bitmap.width; i++)//通过循环嵌套,逐个像素点生成 
      {
        for (int j = 0; j < bitmap.height; j++)
        {
          if (random.next(90) <= this.fineness)
            bitmap.setpixel(i, j, color.lightgray);
        }
      }
    }
    private void drewvalidatecode(bitmap bitmap, string validatecode)//绘制验证码图像 
    {
      graphics g = graphics.fromimage(bitmap);//获取绘制器对象 
      font font = new font(fontfamily, fontsize, fontstyle.bold);//设置绘制字体 
      g.drawstring(validatecode, font, brushes.black, posx, posy);//绘制验证码图像 
    } 

在login.aspx窗体页面中实现如下图功能:

login.aspx窗体前台:

//这个函数是在点击验证码图片就会更换验证码
//可以使用微软自带的jqury.js 下面jquery-1.4.1.min.js版本之上的。或者在jquery官网上下载就可以。
 <script src="styles/jquery-1.4.1.min.js" type="text/javascript"></script>
     function f_refreshtype() {
       var image1 = document.getelementbyidx_x_x_x("img");
       if (image1 != null) {
         image1.src = image1.src + "?";
       }
     }
---<img src="validatecode.aspx" id="img" onclick="f_refreshtype()" width="50px"/>//调用函数,实现更换验证码

后台代码:点击登录验证用户是否输入正确。 

  string usercode = txtcode.text.trim();
      if (usercode == session["vcode"].tostring())//session["vcode"]
      {
  }

其他代码就是跟其他一样。

以上就是跟大家分享的关于生成asp.net验证码的过程,希望大家可以学以致用。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网