MVC图片验证码
C#类库:
public class YZM
{
public string YZMcode = String.Empty; public byte[] load()
{ Bitmap bit = new Bitmap(, );//画布大小
Graphics g = Graphics.FromImage(bit);//创建绘制对象,告诉它往哪张图片上绘制
try { Random r = new Random();
Color color1 = Color.FromArgb(r.Next(, ), r.Next(, ), r.Next(, ));
g.FillRectangle(new SolidBrush(color1), , , , );//画布颜色随机
for (int i = ; i < ; i++)//随机画干扰线
{
Color color3 = Color.FromArgb(r.Next(, ), r.Next(, ), r.Next(, ));
Pen pp = new Pen(new SolidBrush(color3), r.Next(, ));
g.DrawLine(pp, r.Next(, ), r.Next(, ), r.Next(, ), r.Next(, ));
} string yan = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";//设置随机的验证码,从里面抽取
int wei = ;
for (int i = ; i < ; i++)//取四位验证码,颜色随机
{
string m = yan.Substring(r.Next(, yan.Length), );
YZMcode += m;
Color color2 = Color.FromArgb(r.Next(, ), r.Next(, ), r.Next(, ));
int w = r.Next(, );
Font f = new Font("黑体", w);
SolidBrush b = new SolidBrush(color2); g.DrawString(m, f, b, wei, r.Next(, ));
wei += w;
} for (int i = ; i < ; i++)
{
Color color3 = Color.FromArgb(r.Next(, ), r.Next(, ), r.Next(, ));
Pen pp = new Pen(new SolidBrush(color3), r.Next(, ));
int a = r.Next(, );
int b = r.Next(, );
g.DrawLine(pp, a, b, (a + ), (b + ));
} System.IO.MemoryStream ms = new System.IO.MemoryStream();
bit.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
return ms.ToArray();
}
finally {
g.Dispose();//释放绘图对象
bit.Dispose();//释放图像对象
} } }
action:
public FileContentResult yIndex()
{
YZM y = new YZM();
byte[] bytes = y.load();
Session["yzm"] = y.YZMcode;
return File(bytes, @"image/jpeg");
}
HTML:
<img alt="验证码图片" id="img" src="@Url.Action("yIndex","Home")" style="width: 100px; height: 38px; border: 1px solid #ddd; margin-bottom: -15px;" />
<a href="#" onclick="fun()" style="color: #1b66c7">换一张</a>
js:
<script>
var i = 0;
function fun()
{
$("#img")[0].src = $("#img")[0].src + "?" +i;
i++;
}
</script>
MVC图片验证码的更多相关文章
- ASP.NET MVC 模块与组件(二)——定制图片验证码
本着简洁直接,我们就直奔主题吧! 下面是一个生成数字和字母随机组合的验证码类源代码: using System; using System.Drawing; using System.Drawing ...
- MVC伪一个12306图片验证码
本文的来由主要是满足自己的好奇心,而不是证明什么东西,如果涉及到什么官方性的事情,麻烦通知我谢谢:本篇将要和大家分享的是一个看起来通12306图片验证码相似的效果,这篇应该是今年农历最后一篇分享文章了 ...
- MVC中登录页图片验证码总结
直接上代码了 using System;using System.Collections.Generic;using System.Drawing;using System.Drawing.Imagi ...
- 基于spring mvc的图片验证码实现
本文实现基于spring mvc的图片验证码,分后台代码和前端页面的展现以及验证码的验证. 首看后台实现代码: @RequestMapping({"authCode"}) publ ...
- MVC之图片验证码
MVC之图片验证码 controller中的action方法public ActionResult GetValidateCode() { ValidateCode vCode = new Valid ...
- 在mvc中实现图片验证码的刷新
首先,在项目模型(Model)层中建立一个生成图片验证码的类ValidationCodeHelper,代码如下: public class ValidationCodeHelper { //用户存取验 ...
- Asp.net mvc生成验证码
1.生成验证码类 using System; using System.Collections.Generic; using System.Linq; using System.Text; using ...
- MVC中验证码
MVC中验证码的实现(经常用,记录备用) 一.目录 1.多层架构+MVC+EF+AUTOFAC+AUTOMAPPER: 2.MVC中验证码的实现(经常用,记录备用) 3.Ligerui首页的快速搭 ...
- MVC中验证码的实现(经常用,记录备用)
一.目录 1.多层架构+MVC+EF+AUTOFAC+AUTOMAPPER: 2.MVC中验证码的实现(经常用,记录备用) 3.Ligerui首页的快速搭建 二 正文 Ok,我们的验证码开始,这篇文章 ...
随机推荐
- winform客户端利用webClient实现与Web服务端的数据传输
由于项目需要,最近研究了下WebClient的数据传输.关于WebClient介绍网上有很多详细介绍,大概就是利用WebClient可以实现对Internet资源的访问.无外乎客户端发送请求,服务端处 ...
- JS原生效果瀑布流布局的实现(一)
JS原生效果 实现: HTML页面布局: <!DOCTYPE html> <html> <head> <meta charset="utf-8&qu ...
- iOS 崩溃日志 Backtrace的符号化
iOS的崩溃日志配合dsym文件可以找到崩溃时的backtrace,这是解决崩溃的最重要的信息. 如果是在同一台mac上打包, 导入crash log时候会自动将backtrace符号化,可以看到方法 ...
- Base64简介
Base64是一种用64个字符来表示任意二进制数据的方法.首先,准备一个包含64个字符的数组:['A', 'B', 'C', ... 'a', 'b', 'c', ... '0', '1', ... ...
- Egit Patch
Git为我们提供了Patch功能,Patch中包含了源码更改的描述,能够应用于其他Eclipse工作空间或者Git仓库.也就是说,可以将当前提交导出至其他分支或者项目中. 举个例子,项目A.B中使 ...
- icmp_ping学习笔记
1.用字符串指针做为发送缓冲区和接收缓冲区的指针: 2.icmp报文类型结构体可自行定义,也可用<netinet/ip_icmp.h>中定义好的strcut icmp结构体: 3.ip_h ...
- iOS 自定义选项卡-CYLTabBarController
正常的选项卡流程 cocoapods就不说了 创建一个CYLTabBarControllerConfig类 #import <Foundation/Foundation.h> #impor ...
- RestfulApi地址命名特点
get /orders 全部get /orders/{id} 根据id查找get /orders/{number} 根据编号查找get /orders/name/{name} 根据名称查找post / ...
- 笔记 进程(processes)
进程:a program in execution(执行中的程序) 进程包括通过程序计数器(program counter)的值和处理器寄存器(processor's registers)的内容来表示 ...
- python之环境搭建windows版
1.先到python官网下载属于自己的的python版本,有linux版,有mac版,有windows版:https://www.python.org/downloads/windows/ 2.下载完 ...