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图片验证码的更多相关文章

  1. ASP.NET MVC 模块与组件(二)——定制图片验证码

     本着简洁直接,我们就直奔主题吧! 下面是一个生成数字和字母随机组合的验证码类源代码: using System; using System.Drawing; using System.Drawing ...

  2. MVC伪一个12306图片验证码

    本文的来由主要是满足自己的好奇心,而不是证明什么东西,如果涉及到什么官方性的事情,麻烦通知我谢谢:本篇将要和大家分享的是一个看起来通12306图片验证码相似的效果,这篇应该是今年农历最后一篇分享文章了 ...

  3. MVC中登录页图片验证码总结

    直接上代码了 using System;using System.Collections.Generic;using System.Drawing;using System.Drawing.Imagi ...

  4. 基于spring mvc的图片验证码实现

    本文实现基于spring mvc的图片验证码,分后台代码和前端页面的展现以及验证码的验证. 首看后台实现代码: @RequestMapping({"authCode"}) publ ...

  5. MVC之图片验证码

    MVC之图片验证码 controller中的action方法public ActionResult GetValidateCode() { ValidateCode vCode = new Valid ...

  6. 在mvc中实现图片验证码的刷新

    首先,在项目模型(Model)层中建立一个生成图片验证码的类ValidationCodeHelper,代码如下: public class ValidationCodeHelper { //用户存取验 ...

  7. Asp.net mvc生成验证码

    1.生成验证码类 using System; using System.Collections.Generic; using System.Linq; using System.Text; using ...

  8. MVC中验证码

    MVC中验证码的实现(经常用,记录备用)   一.目录 1.多层架构+MVC+EF+AUTOFAC+AUTOMAPPER: 2.MVC中验证码的实现(经常用,记录备用) 3.Ligerui首页的快速搭 ...

  9. MVC中验证码的实现(经常用,记录备用)

    一.目录 1.多层架构+MVC+EF+AUTOFAC+AUTOMAPPER: 2.MVC中验证码的实现(经常用,记录备用) 3.Ligerui首页的快速搭建 二 正文 Ok,我们的验证码开始,这篇文章 ...

随机推荐

  1. 使用 itext、flying-saucer 实现html转PDF(转)

    转自 http://blog.csdn.net/mhouwei62/article/details/51394804 表示感谢 itext-2.1.7高于此版本已经更新为AGPL授权,不建议使用. 添 ...

  2. setTimeout的应用

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  3. 实现AJAX的异步交互的步骤

    <input type="button" value="异步请求"id="btn"> <script> 实现ajax ...

  4. 转载《SimpleAdapter的参数说明》

    SimpleAdapter的参数说明 第一个参数 表示访问整个android应用程序接口,基本上所有的组件都需要 第二个参数表示生成一个Map(String ,Object)列表选项 第三个参数表示界 ...

  5. C#的选择语句练习2

    1.输入a,b,c三个数,计算一元二次方程ax²+bx+c的根:若a=0,则不是一元二次方程:△=b²-4ac,根的计算公式为-b±√b²-4ac/2a:若△=b²-4ac>0,则方程有两个不一 ...

  6. 初识Linux—1

    1,Ctrl+C作用是终止当前的命令 2,ps显示目前正在执行的程序(命令)(process status) 3,退出是exit,连续按exit,最终会关闭终端 4,Root是管理员,其他的用户都是由 ...

  7. perl回文数解析,比C容易多了

    #!/usr/bin/perl -w ; @array = split "", shift @ARGV; ..($#array+1)/2-1]; @array_2 = revers ...

  8. CefSharp 初用遇到的一些问题及解决方法

    之前用WebBrowser,打开网页很卡,但因为并是太要求速度和体验,所以可以显示html就可以了.但是,现在要求显示速度,最主要问题是WebBrowser控件的UserAgent,其实并不完全是IE ...

  9. C#固定时间执行指定事件(观察者模式+异步委托)

    最近有个项目需要每天固定的时间去执行指定的事件,发现网上关于这样的文章比较少,而且比较散.通过学习了几篇文章后终于实现了这个功能,在此也特别感谢这些文章的作者们,这也是我第一次在园子里面发文章,望多指 ...

  10. vim 高亮显示配置

    /etc/vim/vimrc set showmatch "bracket matchset matchtime=5 "bracket match time 5 set ignor ...