asp.net创建位图生成验证图片类(验证码类)

 更新时间:2014年01月07日 11:20:02   作者:  
本文提供一个asp.net生成验证图片的类,功能是显示简单的字符串,大家参考使用吧

代码:

复制代码 代码如下:

public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "image/jpeg";
//创建位图,并且给指定边框的宽高
using (Image img=new Bitmap(80,25))
{

//创建画家对象,在img对象画字符串
using (Graphics g=Graphics.FromImage(img))
{
//设置位图的背景颜色,默认是黑色
g.Clear(Color.White);
//设置验证码的宽高, img.Width-1, img.Height-1主要是背景颜色覆盖了边框线
g.DrawRectangle(Pens.Black, 0, 0, img.Width-1, img.Height-1);
//传100个噪点,传画家对象,位图对象
DrawPoint(100, g, img);
//画4个验证码的字符串
string vcode=GetCode(4);//vcode这里可以赋值给Cookie

g.DrawString(vcode,
new Font("Arial", 14, FontStyle.Strikeout | FontStyle.Strikeout), // FontStyle字体的样式,多个样式,需要|线

Brushes.Black,
new RectangleF(r.Next(20), r.Next(7), img.Width, img.Height));
img.Save(context.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);//保存验证码对象,指定是Jpeg格式

}
}
}

//画噪点方法

void DrawPoint(int point,Graphics g,Image img)
{
for (int i = 0; i < point; i++)
{
int x = r.Next(img.Width);
int y = r.Next(img.Width);
g.DrawLine(Pens.Red,
new Point(x, y),
new Point(x+2, y+2));

}
}

//随机数
Random r = new Random();

//画字符创
string GetCode(int point)
{
string txtStr = "ASF2345WE5R9F3HMBCZ455K";//这里的string字符串将会转成 char数组,阿拉伯数字1和小写字母l最好别写在里面,会搞胡乱。
char[] charArr = txtStr.ToArray();
int num = 0;
string code = "";
for (int i = 0; i <point; i++)
{
num = r.Next(charArr.Length);
code +=charArr[num];
}
return code;
}

相关文章

  • ASP.NET MVC5使用MiniProfiler监控MVC性能

    ASP.NET MVC5使用MiniProfiler监控MVC性能

    这篇文章主要为大家详细介绍了ASP.NET MVC5使用MiniProfiler监控MVC性能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • 在ASP.Net Core应用程序中使用Bootstrap4

    在ASP.Net Core应用程序中使用Bootstrap4

    这篇文章介绍了在ASP.Net Core应用程序中使用Bootstrap4的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-01-01
  • AspNetPager与Socut.Data使用实例代码

    AspNetPager与Socut.Data使用实例代码

    最近对AspNetPager与Socut.Data这两个控件产生了浓厚的兴趣,这两个控件配合可以减轻很多程序员编写代码的压力。ASpNetPager为分页控件,而Socut.Data为数据操作控件,ACCESS,MSSQL都可以。
    2008-07-07
  • asp.net中GridView数据鼠标移入显示提示信息

    asp.net中GridView数据鼠标移入显示提示信息

    本篇文章给大家介绍在asp.net中gridview数据鼠标移入显示提示信息,需要的朋友可以参考下本文
    2015-09-09
  • C#/.NET读取或修改文件的创建时间及修改时间详解

    C#/.NET读取或修改文件的创建时间及修改时间详解

    这篇文章主要给大家介绍了关于C#/.NET读取或修改文件的创建时间及修改时间的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-08-08
  • ASP.NET MVC5验证系列之服务端验证

    ASP.NET MVC5验证系列之服务端验证

    这篇文章主要为大家详细介绍了ASP.NET MVC5验证系列之服务端验证,使用两种方法来验证数据的合法性,手动验证的方式和数据注解来进行服务端验证,感兴趣的小伙伴们可以参考一下
    2016-07-07
  • 根据控件Id得到控件并对该控件进行操作

    根据控件Id得到控件并对该控件进行操作

    在做动态获取控件时,时常需要根据Id得到控件,并对该控件进行操作,示例如下,大家可以参考下
    2014-06-06
  • 教你30分钟通过Kong实现.NET网关

    教你30分钟通过Kong实现.NET网关

    Kong是一个Openrestry程序,而Openrestry运行在Nginx上,用Lua扩展了nginx。所以可以认为Kong = Openrestry + nginx + lua,这篇文章主要介绍了30分钟通过Kong实现.NET网关,需要的朋友可以参考下
    2021-11-11
  • asp.net GridView排序简单实现

    asp.net GridView排序简单实现

    使用javascript操作table排序才是实用的排序,这样排序不怎么好,但是有时候可能会用来,记录一下。
    2009-12-12
  • Asp.net core Web Api配置swagger中文的实现

    Asp.net core Web Api配置swagger中文的实现

    swagger是一个api文档自动生动工具,还集成了在线调试. 可以为项目自动生成接口文档, 非常的方便快捷,具有一定的参考价值,感兴趣的可以了解一下
    2023-09-09

最新评论