验证码的制作

说明:Login.aspx是登陆页面;image.aspx是生成验证码的页面。

 

步骤:

(1)在Login.aspx添加一个ImageButton控件,用于插入一个产生验证码的图片,该验证码图片在登陆页面加载的时候就要加载。故在Login.aspx.cs的Page_Load事件中添加如下代码:

protected void Page_Load(object sender, EventArgs e)

{

    this.ImageButton1.ImageUrl="image.aspx";//image.aspx是一个显示验证码的Web页面

}

 

(2)image.aspx

在image.aspx.cs中自定义两个事件,分别是private string GenCode(int num)和private void GenImg(string code)事件。private string GenCode(int num)事件用于产生验证码;private void GenImg(string code)事件用于产生图片。Page_Load事件中调用产生的图片验证码,从而可以显示验证码。image.aspx.cs文件的程序源代码如下:

using System.IO; //定义输入输出命名空间。

using System.Drawing; //定义画板命名空间。

protected void Page_Load (object sender, EventArgs e)

{

this.GenImg(this.GenCode(4));//调用方法得到验证码。

Session["image"]=this.GenCode(4);//将验证码存储到Session中,以便需要时进行验证。

}

 

private string GenCode(int num)

{//创建GenCode()方法。

string[] source={"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 code="";//初始化一个字符串变量code用以保存验证码字符串。

Random rd=new Random();//声明一个随机数对象。

for(int i=0;i<num;i++)

{

code+=source[rd.Next(0,source.Length)];//保存随机到的验证码。

}

return code;//此方法返回的数值。

}

 

private void GenImg(string code)

{//此方法用于绘画验证码背景图。

//定义一个画板Bitmap

Bitmap myPalette=new Bitmap(60,20);//长宽的值。

//在画板上定义绘图的实例Graphics

Graphics gh=Graphics.FromImage(myPalette);

//定义一个矩形

Rectangle rc=new Rectangle(0,0,60,20);

//填充矩形

gh.FillRectangle(new SolidBrush(Color.Blue),rc);

//在矩形内画出字符串Graphics.DrawString()

gh.DrawString(code,new Font("宋体",16),new SolidBrush(Color.Yellow),rc);

//将图片显示出来

myPalette.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);

gh.Dispose();

myPalette.Dispose();

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值