打印本文 打印本文 关闭窗口 关闭窗口
asp.net实现验证码
作者:武汉SEO闵涛  文章来源:敏韬网  点击数691  更新时间:2009/4/23 10:48:56  文章录入:mintao  责任编辑:mintao

原始出处:http://www.wrclub.net/show.aspx?id=1525



#region 实现一个验证码的类

public class ValidateCode
{
private Bitmap validateimage;
private Graphics g;
public ValidateCode()
{
validateimage = new Bitmap(120, 30, PixelFormat.Format24bppRgb);
g = Graphics.FromImage(validateimage);
}

public void DrawValidateCode(Page e, string i)
{
g.DrawString(i, new Font("黑体",16,FontStyle.Bold),new SolidBrush(Color.White),new PointF(2,4));
g.FillRectangle(new LinearGradientBrush(new Point(0,0), new Point(120,30), Color.FromArgb(0,0,0,0),Color.FromArgb(255,255,255,255)),0,0,120,30);
//validateimage.Save(e.OutputStream, ImageFormat.Jpeg);
g.Save();
MemoryStream ms=new MemoryStream();
validateimage.Save(ms,System.Drawing.Imaging.ImageFormat.Gif);
e.Response.ClearContent();
e.Response.ContentType="image/gif";
e.Response.BinaryWrite(ms.ToArray());
e.Response.End();
//validateimage.Save(e.MapPath("NumImage/ValidateImage.gif"), ImageFormat.Gif);
//e.End();
}
}

#endregion


private void MakeValidateCode()
{
char[] s = new char[]{''''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'''',''''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 num = "";
Random r = new Random();
for(int i = 0; i < 5; i++)
{
num += s[r.Next(0, s.Length)].ToString();
}
((LoginUserInfo)Session["LoginUserInfo"]).ValidateNum = num;
TextBox3.Text = "";
}

也综合了别人的一部分代码。:)

打印本文 打印本文 关闭窗口 关闭窗口