基于Asp.net mvc自动生成验证码
来源:互联网 发布:flac数值模拟软件 编辑:程序博客网 时间:2024/06/04 19:34
,最近在学习mvc设计模式,学到了验证码所以来分享一下。(T….课堂上学的)
运用简单的GDI+技术绘制验证码图片。
下面是代码。
①aspx页面
<img src="/action/ValidataCode" onclick="this.src=this.src+'?'" alt="验证码" style="cursor:pointer" />
点击刷新代码(onclick=”this.src=this.src+’?’”)
②后台页面
//图片引用这个控制器id(ValidataCode)public ActionResult ValidataCode() { byte[] data = null; //随机获取5位验证码 string Code = MyRandom(5); TempData["code"] = Code; //创建画板,画板大小70*30,这个可以修改 Bitmap MyBt = new Bitmap(70,30); //创建画笔 Graphics gp = Graphics.FromImage(MyBt); //填充画板为白色,2和-2会让验证码的图片出现边框 gp.FillRectangle(Brushes.White,2,2,MyBt.Width-4,MyBt.Height-4); //绘制验证码 gp.DrawString(Code, new Font("宋体", 14), Brushes.Black, new PointF(5, 5)); //绘制噪线 Random rand=new Random(); for(int i=0;i<5;i++) { gp.DrawLine(new Pen(RandColor()), rand.Next(MyBt.Width), rand.Next(MyBt.Height), rand.Next(MyBt.Width), rand.Next(MyBt.Height)); } //绘制噪点 for (int i = 0; i < 5; i++) { MyBt.SetPixel(rand.Next(MyBt.Width), rand.Next(MyBt.Height), RandColor()); } //释放资源 gp.Dispose(); //保存图片 MemoryStream ms = new MemoryStream(); MyBt.Save(ms,ImageFormat.Jpeg); data = ms.GetBuffer(); return File(data,"image/jpeg"); } //产生len个验证码 public string MyRandom(int len) { //这里是验证码出现的字符,可以更改,可以为中文。中文得修改画板的大小 String words = "1234567890qwertyuopasdfghjklxcvbnm"; StringBuilder sb = new StringBuilder(); Random rand = new Random(); for (int i = 0; i < len; i++) { int index = rand.Next(0, words.Length); char ch = words[index]; sb.Append(words[index] + ""); } return sb.ToString(); } //随机产生颜色,为噪点和噪线。 public Color RandColor() { Random rand = new Random(); int red = rand.Next(10, 200); int green = rand.Next(10, 200); int blue = rand.Next(10, 200); return Color.FromArgb(red,green,blue); }
本人小白,如有错误请指点。
阅读全文
0 0
- 基于Asp.net mvc自动生成验证码
- ASP.Net MVC 生成安全验证码
- ASP.Net MVC 生成安全验证码
- ASP.NET中自动生成验证码
- C#-ASP.NET 自动生成验证码
- ASP. net MVC 验证码
- asp.net Mvc验证码
- 基于ASP.NET MVC的极速验证,滑块验证码
- Asp.Net生成验证码
- asp.net生成验证码
- Asp.Net生成验证码
- asp.net生成验证码
- asp.net生成验证码
- Asp.NET 生成验证码
- [ASP.NET]验证码生成
- ASP.NET生成验证码
- ASP.NET生成验证码
- asp .net 生成验证码
- [USACO15JAN]牛的矩形Cow Rectangles
- Redis 讲解系列之 NoSql入门和概述(一)
- 关于AndroidStudio2.3中的.9.png
- Echarts图表之formatter用法
- 阿里巴巴java开发手册关键点记录
- 基于Asp.net mvc自动生成验证码
- Chapter6 函数
- MC/DC覆盖率准则
- Java 8 新特性——lambda表达式
- 喜欢的小软件下载网址合集-换电脑用
- python中input输入时使用方向键的问题
- java中的IO流
- linux 查看访问本机ip次数
- 欢迎使用CSDN-markdown编辑器