Asp.Net生成图片验证码(C/S框架网开源)
Asp.Net生成图片验证码(C/S框架网开源) using System;
using System.Data; using System.Web; using System.Drawing; using System.Web.UI; using System.Web.UI.WebControls; using System.Drawing.Drawing2D; using System.Threading; /* * 版权:C/S框架网 www.csframework.com * * 生成图片验证码业务逻辑 */ namespace CSFramework.BLL { /// <summary> /// 生成图片验证码 /// </summary> public class CGenValidateCode { #region 随机字符验证码 private Page _page = null; public CGenValidateCode(Page page) { _page = page; } /// <summary> /// 产生验证码 /// </summary> /// <returns></returns> private string CreateCode(int codeLength) { //去除字母与数字相近的数字或字母 string chars = "2,3,5,6,7,8,9,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,T,U,V,W,X,Y,Z," "a,b,c,d,e,f,g,h,i,j,k,m,n,p,q,r,s,t,u,v,w,x,y,z"; string[] strArr = chars.Split(','); string code = ""; Random rand = new Random(); for (int i = 0; i < codeLength; i ) { code = strArr[rand.Next(0, strArr.Length)]; Thread.Sleep(5); } return code; } /// <summary> /// 输出验证图片 /// </summary> /// <param name="code"></param> private void CreateImage(string code) { Bitmap image = new Bitmap(75, 25); //验证码图片模块 Graphics g = Graphics.FromImage(image); WebColorConverter ww = new WebColorConverter(); g.Clear((Color)ww.ConvertFromString("White")); //底色 Random random = new Random(); //画图片的背景噪音线 for (int i = 0; i < 6; i ) { int x1 = random.Next(image.Width); Thread.Sleep(5); int x2 = random.Next(image.Width); int y1 = random.Next(image.Height); Thread.Sleep(5); int y2 = random.Next(image.Height); g.DrawLine(new Pen(Color.Blue), x1, y1, x2, y2); } //验证码字体 Font font = new Font("arial", 14, FontStyle.Bold | FontStyle.Italic); //画笔对象 LinearGradientBrush brush = new LinearGradientBrush( new Rectangle(0, 0, image.Width, image.Height), Color.Red, Color.Gray, 1.2f, true); g.DrawString(code, font, brush, 0, 0); //画图片的边框线 g.DrawRectangle(new Pen(Color.Gray), 0, 0, image.Width - 1, image.Height - 1); System.IO.MemoryStream ms = new System.IO.MemoryStream(); image.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg); _page.Response.ClearContent(); _page.Response.ContentType = "image/jpeg"; //HTTP MIME TYPE 设为图片输出 _page.Response.BinaryWrite(ms.ToArray()); g.Dispose(); image.Dispose(); } /// <summary> /// 生成新的验证码 /// </summary> public void Generate() { string checkCode = this.CreateCode(5); //生成新的验证码 _page.Session["csframework_code"] = checkCode; this.CreateImage(checkCode); } /// <summary> /// 检验用户输入的验证码 /// </summary> /// <param name="validatePage">要验证的页面</param> /// <param name="input">用户输入的验证码</param> /// <returns></returns> public static bool ValidateLastCode(Page validatePage, string input) { //将对象转换为字符串 string lastCode = Convert.ToString(validatePage.Session["csframework_code"]); return (input.ToUpper() == lastCode.ToUpper()); } #endregion } } // 来源:www.CSFramework.com, C/S结构框架学习网
<td class="td2"> <span style="color: Gray;">(不区分大小写)</span> <a href="#" onclick="document.getElementById('vcode').src='http://www.csframework.com/do-gen-code.aspx?temp='+ (new Date().getTime().toString(36));return false;">重新生成</a> </td>
参考文档:
Asp.Net FileUpload类实现上传文件(C/S框架网开源) 图像处理业务逻辑CImageLibrary类(C/S框架网开源) Asp.Net使用SmtpClient发送邮件(C/S框架网开源) C#源代码高亮着色类(C/S框架网开源) 通用图片处理类CImageLibrary,预设存储JPG格式|C/S框架网 C/S架构的Winform 代码生成器软件|C/S框架网原创作品 开发技巧-Winform窗体自动生成下一个业务流程的单据|C/S框架网 Winform+DevExpress框架之独立图片存储解决方案|C/S框架网 Winform快速开发框架之存储图片资源解决方案|C/S框架网 代码生成器加载用户表和视图报错解决方案|C/S框架网 CSFramework代码生成器自动生成主从表界面-C/S框架网 C#.NET二次开发框架,二次开发平台产品介绍-C/S框架网 ERP快速开发平台|ERP软件开发平台-C/S框架网 Winform自动升级框架源码(C#.NET)-C/S框架网 微信支付后台服务器返回的接口通知notify_url(回调接口设计)-C/S框架网
其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 | |