public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "image/jpeg";
string chkCode = string.Empty;
//颜色列表,用于验证码、噪线、噪点
Color[] color = { Color.Black, Color.Red, Color.Blue, Color.Green, Color.Orange, Color.Brown, Color.Brown, Color.DarkBlue };
//字体列表,用于验证码
string[] font = { "Times New Roman", "MS Mincho", "Book Antiqua", "Gungsuh", "PMingLiU", "Impact" };
//验证码的字符集,去掉了一些容易混淆的字符
char[] character = { '2', '3', '4', '5', '6', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'J', 'K', 'L', 'M', 'N', 'P', 'R', 'S', 'T', 'W', 'X', 'Y' };
Random rnd = new Random();
//生成验证码字符串
for (int i = 0; i < 4; i++)
{
chkCode += character[rnd.Next(character.Length)];
}
using( Bitmap bmp = new Bitmap(100, 40))
using (Graphics g = Graphics.FromImage(bmp))
{
g.Clear(Color.White);
//画噪线
for (int i = 0; i < 10; i++)
{
int x1 = rnd.Next(100);
int y1 = rnd.Next(40);
int x2 = rnd.Next(100);
int y2 = rnd.Next(40);
Color clr = color[rnd.Next(color.Length)];
g.DrawLine(new Pen(clr), x1, y1, x2, y2);
}
//画验证码字符串
for (int i = 0; i < chkCode.Length; i++)
{
string fnt = font[rnd.Next(font.Length)];
Font ft = new Font(fnt, 18);
Color clr = color[rnd.Next(color.Length)];
g.DrawString(chkCode[i].ToString(), ft, new SolidBrush(clr), (float)i * 20 + 8, (float)8);
}
//画噪点
for (int i = 0; i < 100; i++)
{
int x = rnd.Next(bmp.Width);
int y = rnd.Next(bmp.Height);
Color clr = color[rnd.Next(color.Length)];
bmp.SetPixel(x, y, clr);
}
bmp.Save(context.Response.OutputStream, ImageFormat.Jpeg);

}

}

转载于:https://www.cnblogs.com/ZX-LMY/p/5561631.html

C# ashx生成的验证码相关推荐

  1. php怎样验证验证码对错,PHP生成中文验证码并检测对错实例

    PHP生成中文验证码并检测对错实例,中文验证码的例子还是比较少的,今天给大家分享一下,支持自定义中文.字体.背景色等 生成验证码,注意font字体路径要对,否则显示图片不存在session_start ...

  2. python编程实战(二):一文教你生成随机验证码!大小写字母与数字组合,位数可以控制

    随机验证码的生成 前言 正文 实现 代码 效果 前言 验证码验证,是常见的安全验证的一种方式,可以用来杜绝脚本和机器人操作等等: 除了本文介绍的简单的验证码之外,还有拼图验证.文字顺序验证等常见的验证 ...

  3. java生成验证码工具类_Java生成图形验证码工具类

    生成验证码效果 validatecode.java 验证码生成类 package cn.dsna.util.images; import java.awt.color; import java.awt ...

  4. phpgif图片包_php生成动态验证码gif图片

    这是一个通过php生成的动态验证码图片的示例,重点是可以运行哦!下面先发下效果图: 下面是php生成动态验证码需要用到的相关类和函数. /** *ImageCode 生成包含验证码的GIF图片的函数 ...

  5. php推荐码生成,最新最全PHP生成制作验证码代码详解(推荐),验证码详解_PHP教程...

    最新最全PHP生成制作验证码代码详解(推荐),验证码详解 1.0 首先先看代码 好,现在结合以上代码,来分析分析以上用到的几个函数: ① imagecreatetruecolor(); imagecr ...

  6. PIL模块与随机生成中文验证码

    今天我们要学习的内容是如何利用Python生成一个随机的中文验证码,并将图片保存为.jpeg格式. 在这之前,你首先得了解Python中的PIL库.PIL是Python Imaging Library ...

  7. 图形验证码校验php,ThinkPHP实现生成和校验验证码功能

    使用ThinkPHP实现生成/校验验证码功能,供大家参考,具体内容如下 首先了解父类Verity.class.php(ThinkPHP/Library/Think/Verity.class.php)中 ...

  8. PHP生成各种验证码和Ajax验证

    转载链接:http://www.helloweba.com/view-blog-191.html 验证码在WEB应用中非常重要,通常用来防止用户恶意提交表单,如恶意注册和登录.论坛恶意灌水等.本文将通 ...

  9. .NET中生成动态验证码

    NET中生成动态验证码 验证码是图片上写上几个字,然后对这几个字做特殊处理,如扭曲.旋转.修改文字位置,然后加入一些线条,或加入一些特殊效果,使这些在人类能正常识别的同时,机器却很难识别出来,以达到防 ...

最新文章

  1. Java传输对象模式
  2. golang 文件操作
  3. Docker环境下Java应用的最大内存和堆内存的设置
  4. 数据结构与算法 / 概念
  5. mds聚类matlab,MDS图示聚类结果
  6. VMware推出TrustPoint产品,完善终端用户计算方案
  7. 使用jstree创建无限分级的树(ajax动态创建子节点)
  8. python socket出现ip已经使用_Python:只接受特定的IP(socket)
  9. 数据库管理之数据表管理(1)
  10. 机器学习实战 | 数据探索(变量变换、生成)
  11. mongodb聚合操作之group
  12. bzoj1923 [Sdoi2010]外星千足虫 压位+高斯消元
  13. 条件表达式计算个人所得税c语言,个税的计算C语言实现,结果为什么是负的?...
  14. Object C中文件后缀名
  15. 安装74cms时出现的错误
  16. 质谱和蛋白质组学领域简述
  17. android5.0 物理键盘与软键盘同时使用修改
  18. 喜欢一个讨厌的人_为什么我们喜欢讨厌漫画无人
  19. java猜数字游戏课程设计报告_Java程序设计课程设计-猜数字游戏设计.doc
  20. ubuntu 系统 耳机嘶嘶声 白噪声 修复

热门文章

  1. 从win到linux的小问题集锦(不断更新中)
  2. c#重点知识解答(五)
  3. 学生信息表 -通过选择年级和班级得到详细的学生信息名单
  4. 汽车故障检测软件_检测认证事业部软件测评公司党支部与汽车测评管理中心党支部开展党建共建活动...
  5. win10 wsl和wsl2使用总结
  6. ffmpeg (一):起步
  7. Android内核开发:图解Android系统的启动过程
  8. Srs之state-threads研究
  9. C#之Unix时间和北京时间互转
  10. 人脸系列:人脸检测、人脸关键点定位、人脸优选、人脸对齐、人脸特征提取、人脸跟踪、人脸活体检测