验证码图片显示

原创 2007年09月19日 16:36:00
1、建立一个页面CheckCode.aspx,然后把下面的代码复制进去。
2、然后在你想用的地方(HTML页面)直接加上<IMG src="CheckCode.aspx">及可。
***********************************************************

public class ValidateCode : System.Web.UI.Page
{
private void Page_Load(object sender, System.EventArgs e)
{
this.CreateCheckCodeImage(GenerateCheckCode());
}

Web 窗体设计器生成的代码#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

/**//// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion

private string GenerateCheckCode()
{
int number;
char code;
string checkCode = String.Empty;

System.Random random = new Random();
for(int i=0; i<5; i++)
{
number = random.Next();

if(number % 2 == 0)
code = (char)('0' + (char)(number % 10));
else
code = (char)('A' + (char)(number % 26));

checkCode += code.ToString();
}

Response.Cookies.Add(new HttpCookie("CheckCode", checkCode));

return checkCode;
}

private void CreateCheckCodeImage(string checkCode)
{
if(checkCode == null    checkCode.Trim() == String.Empty)
return;

System.Drawing.Bitmap image = new System.Drawing.Bitmap((int)Math.Ceiling((checkCode.Length * 12.5)), 22);
Graphics g = Graphics.FromImage(image);

try
{
//生成随机生成器
Random random = new Random();

//清空图片背景色
g.Clear(Color.White);

//画图片的背景噪音线
for(int i=0; i<25; i++)
{
int x1 = random.Next(image.Width);
int x2 = random.Next(image.Width);
int y1 = random.Next(image.Height);
int y2 = random.Next(image.Height);

g.DrawLine(new Pen(Color.Silver), x1, y1, x2, y2);
}

Font font = new System.Drawing.Font("Arial", 12, (System.Drawing.FontStyle.Bold   System.Drawing.FontStyle.Italic));
System.Drawing.Drawing2D.LinearGradientBrush brush = new System.Drawing.Drawing2D.LinearGradientBrush(new Rectangle(0, 0,image.Width, image.Height), Color.Blue, Color.DarkRed, 1.2f, true);
g.DrawString(checkCode, font, brush, 2, 2);

//画图片的前景噪音点
for(int i=0; i<100; i++)
{
int x = random.Next(image.Width);
int y = random.Next(image.Height);

image.SetPixel(x, y, Color.FromArgb(random.Next()));
}

//画图片的边框线
g.DrawRectangle(new Pen(Color.Silver), 0, 0, image.Width - 1, image.Height - 1);

System.IO.MemoryStream ms = new System.IO.MemoryStream();
image.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);
Response.ClearContent();
Response.ContentType = "image/Gif";
Response.BinaryWrite(ms.ToArray());
}
finally
{
g.Dispose();
image.Dispose();
}
}

 

怎样知道你的程序是运行在安全模式呢?

Use Windows API GetSystemMetrics with SM_CLEANBOOT parameter, this specifies how the system was star...
  • laoli
  • laoli
  • 2001-10-05 14:01:00
  • 865

生成图片验证码的两种实现方式

最近工作中,需求让新加一个图片验证码功能,其实这个功能之前自己写过,想必跟大家现在心里想到的实现方式一样,要么是通过servlet实现请求操作,要么是通过get请求实现操作。然后在后台通过sessio...
  • buyaoshuohua1
  • buyaoshuohua1
  • 2017-06-22 23:22:27
  • 6658

H5学习之路-图片验证码的实现

验证码想必大家都经常遇到,今天就给大家介绍一个比较简单的图片验证码的实现。 要实现验证码主要分生成和验证两步。首先生成,就是指某个用户看到验证码后台立马生成的,然后把这个生成图片的字符串保存放在se...
  • qiyongkang520
  • qiyongkang520
  • 2017-02-07 23:29:54
  • 4462

案例:图片验证码

图片验证码1验证码有啥用在我们注册时,如果没有验证码的话,我们可以使用URLConnection来写一段代码发出注册请求。甚至可以使用while(true)来注册!那么服务器就废了! 验证码可以去识...
  • qq_28483283
  • qq_28483283
  • 2016-04-24 15:30:22
  • 1021

分享一个图片验证码功能的实现

项目地址 https://github.com/smallsnail-wh/wh-validate 实现原理 /validate/imag请求获取验证码图片,并将验证码信息存入sessio...
  • smollsnail
  • smollsnail
  • 2018-01-29 16:36:18
  • 256

Java 识别图片验证码

Java 识别图片验证码 Ocr.setUp(); // one time setup Ocr ocr = new Ocr(); // create a new OCR engine ocr....
  • bobo0915
  • bobo0915
  • 2016-09-28 18:39:39
  • 16913

点击图片,图片src重新加载(用于图片验证码)

效果图: 后台给的链接直接插入html中img的src里,点击图片重新加载这个src因为src的内容一直不变,比如都是 src="http://www.xxx.com/xxx/get?...
  • liona_koukou
  • liona_koukou
  • 2017-07-05 11:26:23
  • 1626

网上几种常见校验码图片分析

前几天受刺激了,准备把CSDN的校验码图片修改。就上网找了一些参考示例。和分析了一些校验码的功能。不敢独享,整理到一起,跟大家分享。至于CSDN新的校验码写法,不是这里面的任何一种。也不是网上可以找到...
  • aboutblog
  • aboutblog
  • 2006-09-21 09:10:00
  • 1692

验证码图片数据包

  • 2017年08月31日 15:31
  • 15.52MB
  • 下载

验证码图片识别

因朋友需求,对某网站的验证码图片进行自动识别,原以为是个复杂的问题,后来查看了网上的一些资料,总体思路上参考了: http://www.cr173.com/html/16871_1.html 尝试...
  • gzxiaorou
  • gzxiaorou
  • 2015-03-22 15:21:16
  • 4002
收藏助手
不良信息举报
您举报文章:验证码图片显示
举报原因:
原因补充:

(最多只允许输入30个字)