.NET下生产图片验证码

2016-02-19 18:56 7 1 收藏

下面这个.NET下生产图片验证码教程由图老师小编精心推荐选出,过程简单易学超容易上手,喜欢就要赶紧get起来哦!

【 tulaoshi.com - Web开发 】

  后台文件:

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

  
   1using System;
   2using System.Data;
   3using System.Configuration;
   4using System.Collections;
   5using System.Drawing;
   6using System.Web;
   7using System.Web.Security;
   8using System.Web.UI;
   9using System.Web.UI.WebControls;
  10using System.Web.UI.WebControls.WebParts;
  11using System.Web.UI.HtmlControls;
  12
  13public partial class Default2 : System.Web.UI.Page
  14{
  15    protected void Page_Load(object sender, EventArgs e)
  16    {
  17        if(!this.IsPostBack)
  18        {
  19            this.GenImg(this.GenCode(4));
  20        }
  21
  22    }
  23    //产生随机字符串
  24    private string GenCode(int num)
  25    {
  26        string[] source={"0","1","2","3","4","5","6","7","8","9",
  27                            "A","B","C","D","E","F","G","H","I","J","K","L","M","N",
  28                            "O","P","Q","R","S","T","U","V","W","X","Y","Z"};
  29        string code="";
  30        Random rd=new Random();
  31        for(int i=0;i num;i++)
  32        {
  33            code += source[rd.Next(0,source.Length)];
  34        }
  35        return code;
  36    }
  37
  38        //生成图片
  39    private void GenImg(string code)
  40    {
  41        Bitmap myPalette = new Bitmap(60, 20);//定义一个画板
  42
  43        Graphics gh = Graphics.FromImage(myPalette);//在画板上定义绘图的实例
  44
  45        Rectangle rc = new Rectangle(0, 0, 60, 20);//定义一个矩形
  46
  47        gh.FillRectangle(new SolidBrush(Color.Blue), rc);//填充矩形
  48        gh.DrawString(code, new Font("宋体", 16), new SolidBrush(Color.White), rc);//在矩形内画出字符串
  49
  50        myPalette.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);//将图片显示出来
  51
  52        Session["ValidateCode"] = code;//将字符串保存到Session中,以便需要时进行验证
  53
  54        gh.Dispose();
  55        myPalette.Dispose();
  56    }
  57
  58}
  59HTML文件:
  加入一个HTML控件Image即可
  1%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %
  2
  3img src="Default2.aspx" /

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

来源:http://www.tulaoshi.com/n/20160219/1619579.html

延伸阅读
标签: Web开发
调用方法:在jsp页面用图像标签便可以直接调用如下是标签代码 img border=0 src="image.jsp",只需要把该代码发在验证码要显示的区域就可以了) %@ page contentType="image/jpeg" import="java.awt.*,java.awt.image.*,java.util.*,javax.imageio.*" % %! public static String code="abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQ...
标签: Web开发
% if request("cur_action")="add" then code=Request.Form("code") if code=empty then response.write "script LANGUAGE='javascript'alert('请输入验证码!');history.go(-1);/script" Session("GetCode")=empty response.End() elseif lcase(code)lcase(Session("GetCode")...
12306验证码怎么用?   1、进入网站后如看到如下图所示验证码,点击链接。 2、出现验证码图片,根据文字提示点击相应的图片。比如上图文字提示为所有的篮球,那么就点击左上角和右上角的两个篮球,图片中有多个答案时,一定要全部选中! 3、用户点击该图片后,图片的位置即出现 如果点错位置,再次点击 即可取消。 ...
notsamenum++; } } if(notsamenum<4) { char cj=(char)datachar[ii]; return cj.ToString(); } } return jieguo; } /// <summary /// 检查特征库中是否已经存在相关记录 /// </summary bool ischardatain() { bool jieguo=false; for(int ii=0;ii<datanum;ii++) { //统计一共有多少行的像素有差异,如果在4行以内就认为是存在该...
标签: Web开发
  调用方法       img   src="http://...../getImg"           原理,在servlet中随机生成一个4位数字1000-9999       然后把这数字写入session       输出一个图片,上面写有这...

经验教程

393

收藏

7
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部