Asp.net:生成验证码
2011-08-23 22:07
435 查看
1 添加一般处理程序 ashx
2 引用
新建 imageCode.aspx 其中 html
<%@ WebHandler Language="C#" Class="Handler" %> using System; using System.Drawing; using System.Drawing.Imaging; using System.Text; using System.Web; using System.Web.SessionState; public class Handler : IHttpHandler, IRequiresSessionState { public void ProcessRequest(HttpContext context) { context.Response.ContentType = "image/gif"; //建立Bitmap对象,绘图 Bitmap basemap = new Bitmap(200, 60); Graphics graph = Graphics.FromImage(basemap); graph.FillRectangle(new SolidBrush(Color.White), 0, 0, 200, 60); Font font = new Font(FontFamily.GenericSerif, 48, FontStyle.Bold, GraphicsUnit.Pixel); Random r = new Random(); string letters = "ABCDEFGHIJKLMNPQRSTUVWXYZ"; string letter; StringBuilder s = new StringBuilder(); //添加随机的五个字母 for (int x = 0; x < 5; x++) { letter = letters.Substring(r.Next(0, letters.Length - 1), 1); s.Append(letter); graph.DrawString(letter, font, new SolidBrush(Color.Black), x * 38, r.Next(0, 15)); } //混淆背景 Pen linePen = new Pen(new SolidBrush(Color.Black), 2); for (int x = 0; x < 6; x++) graph.DrawLine(linePen, new Point(r.Next(0, 199), r.Next(0, 59)), new Point(r.Next(0, 199), r.Next(0, 59))); //将图片保存到输出流中 basemap.Save(context.Response.OutputStream, ImageFormat.Gif); context.Session["CheckCode"] = s.ToString(); //如果没有实现IRequiresSessionState,则这里会出错,也无法生成图片 context.Response.End(); } public bool IsReusable { get { return true; } } }
2 引用
新建 imageCode.aspx 其中 html
<img src="Handler.ashx" alt="图片验证码" />
相关文章推荐
- ASP.Net生成验证码
- ASP.net生成各种随机数字,用于优惠券、验证码等
- Asp.Net 动态生成验证码
- ASP.NET生成验证码的三种形式【附源码下载】
- ASP.NET 生成图片验证码
- asp.net如何实现生成验证码的登录界面
- asp.net 生成验证码
- asp.net 验证码生成类
- asp.net 生成中文验证码
- asp.net 生成随机图形验证码
- asp.net生成验证码
- asp.net(c#)生成验证码 点击可刷新
- asp.net生成验证码
- ASP.NET with C#生成验证码的过程
- ASP.NET生成图形验证码的方法详解
- asp.net验证码生成类(参考)
- asp.net 生成验证码
- Asp.Net 动态生成验证码
- asp.net生成简单验证码
- asp.net简单生成验证码的方法