上次旧版的生成验证码,主要侧重于生成的图片的展示效果。代码基本没有封装起来,在实际项目中运用就非常不方便。下面就主要对代码进行了封装,在需要用到时,只需更改部分参数就可以使用!这里对于添加引用就不多加写了。

/// <summary>/// 生成指定字符串的图片/// </summary>/// <param name="yzm">验证码</param>/// <returns>生成的位图</returns>public static Bitmap ImageValid(string yzm){Bitmap bmp = new Bitmap(120, 35);  //画布大小using (Graphics g = Graphics.FromImage(bmp))          using (Font font = new Font(FontFamily.GenericSerif, 18)){                  g.Clear(Color.Yellow);  //背景颜色g.DrawString(yzm, font, Brushes.Red, new PointF(0, 10));//画图片的背景噪音线Random random = new Random();int i;  for (i = 0; i < 25; i++)  {  int x1 = random.Next(bmp.Width);  int x2 = random.Next(bmp.Width);  int y1 = random.Next(bmp.Height);  int y2 = random.Next(bmp.Height);  g.DrawLine(new Pen(Color.Red), x1, y1, x2, y2);  }           }return bmp;}/// <summary>/// 生成四个随机的汉字字符串/// </summary>/// <returns></returns>public static string ResetValidCode(){string cyhz = "人口手大小多少上中下男女天地会反清复明黄中华小宝双儿命名空间语现在明天来多个的我山东河北南固安北京南昌东海西安是沙河高教园学"+ "木禾上下土个八入大天人火文六七儿九无口日中了子门月不开四五目耳头米见白田电也长山出飞马鸟云公车牛羊小少巾牙尺毛又心手水广升足"+ "走方半巴业本平书自已东西回片皮生里果几用鱼今正雨两瓜衣来年左右万百丁齐冬说友话春朋高你绿们花红草爷亲节的岁行古处声知多忙洗真认父扫"+ "母爸写全完关家看笑着兴画会妈合奶放午收女气太早去亮和李语秀千香听远唱定连向以更后意主总先起干明赶净同专工才级队蚂蚁前房空网诗黄林闭"+ "童立是我朵叶美机她过他时送让吗往吧得虫很河借姐呢呀哪谁凉怕量跟最园脸因阳为光可法石找办许别那到都吓叫再做象点像照沙海桥军竹苗井面乡"+ "忘想念王这从进边道贝男原爱虾跑吹乐地老快师短淡对热冷情拉活把种给吃练学习非苦常问伴间共伙汽分要没孩位选北湖南秋江只帮星请雪就球跳玩"+ "桃树刚兰座各带坐急名发成动晚新有么在变什条";String yzm = "";Random rand = new Random();for (int i = 0; i < 4; i++)  //每次循环获取一个汉字
            {int index = rand.Next(0, cyhz.Length);yzm += cyhz[index];}//context.Session[VALIDCODE] = yzm;    //这里可以用于将获取的字符串存入session中return yzm;}

转载于:https://www.cnblogs.com/fengxuehuanlin/p/5275381.html

生成验证码封装(新版)相关推荐

  1. php验证码的封装,PHP实现生成验证码的封装

    /** * 验证码生成类 * User: xiaoyu * Date: 2019/4/12 * Time: 11:50 */ class CaptchaC { private $image; publ ...

  2. 生成验证码点击可刷新

    我把生成验证码与生成验证码图片封装成一个静态方法,放到ValidateCode类里 /// <summary> /// 生成验证码的类 /// </summary> publi ...

  3. captcha.js一个生成验证码的插件,使用js和canvas生成

    一.captcha`captcha.js`是一个生成验证码的插件,使用js和canvas生成的,确保后端服务被暴力攻击,简单判断人机以及系统的安全性,体积小,功能多,支持配置. 验证码插件内容,包含1 ...

  4. ASP.NET Core 生成验证码

    点击蓝字 关注我 使用验证码保护网站免受垃圾信息的选择有很多,比如Google ReCaptcha和captcha.com.这两者都可以整合到ASP.NET Core应用中去.然而,如果你出于某些原因 ...

  5. Python合并PDF、操作图片以及生成验证码

    2019独角兽企业重金招聘Python工程师标准>>> 在记录今天重点内容的笔记之前,我想要先记录一下匿名函数,因为之前对匿名函数的理解仅停留在了解的状态,以至于实际应用很困难,近两 ...

  6. 随机验证码如何在html里设置颜色,js随机生成验证码以及随机颜色

    Javascript通过Math.random()随机生成验证码. 代码如下: 随机验证码 .p1{ width:100px; height:30px; border:1px solid black; ...

  7. java 自定义生成验证码

    目录 说明 效果展示 Base64编码的文件类型枚举类 验证码默认常量值 验证码生成工具类 使用 说明 项目登录或者其他重要的操作中都要生成验证码,其重要性在此不多说. 主要是介绍自己封装的验证码生成 ...

  8. 解决PHP生成验证码不显示的问题

    验证码不显示: 问题描述: 确保自己的写的代码没有问题之后,发现生成的验证码一会显示. 解决方案: ob_clean(); //关键代码,防止出现'图像因其本身有错无法显示'的问题.header('c ...

  9. java生成验证码的三种方法

    java生成验证码的三种方法 第一种:导入jar包com.github.axet生成法 ①导包 <dependency><groupId>com.github.axet< ...

  10. python 生成验证码

    import randomfrom PIL import Image, ImageDraw, ImageFont, ImageFilter _letter_cases = "abcdefgh ...

最新文章

  1. mysql 存储过程 select 循环_简简单单储存过程——循环一个select结果集
  2. Discuz添加自定义模板广告
  3. android 左右卡片切换,3D卡片切换
  4. 学术|浅谈语音识别、匹配算法和模型
  5. Spring的事务传播机制
  6. Python隐形马尔科夫实战_通过Python的Networkx和Sklearn来介绍隐性马尔科夫模型
  7. amaze 绝对位置 html,amaze ui 的使用详细教程
  8. 16g电脑内存有什么好处_16G电脑运行内存可以达到什么样子。
  9. STM32控制步进电机运三种方式控制源码详解:主从定时器+编码器闭环+GPIO模拟(基于【TB6600】【DRV8825】驱动器)
  10. 由淘宝鼠标经过显示头像想起的 定位分析
  11. The view Myapp.views.welcome didn‘t return an HttpResponse object. It returned None instead.
  12. 趁着双11,写个京东商品自动下单
  13. python 模拟浏览器selenium_python爬虫10:使用selenium模拟浏览器登录账号
  14. 乐观锁和悲观锁的简单理解
  15. 字符串的输入输出处理
  16. Intellij IDEA插件--Key Promoter X
  17. 多线程的两种实现方法
  18. 设计模式基础之类与类图
  19. RestTemplate post提交方式的一些总结
  20. Jmeter通过HTTP代理服务器录制脚本(二)

热门文章

  1. 证明3-SAT问题是NP-complete
  2. C++ 把引用作为函数返回值
  3. Docker教程小白实操入门(10)--如何删除一个镜像
  4. 怎么注册开通个人微信小程序
  5. Servlet chapter 2
  6. Linux chapter 4
  7. Servlet期末复习笔记3
  8. nginx负载均衡的5种策略(转载)
  9. BZOJ1815 SHOI2006有色图(Polya定理)
  10. python学习笔记(xlsxwriter模块使用)