Register.aspx
// 当点击验证码图片时,自动重新导向一次authcode.aspx,就重新刷新一次验证码
$('#authimage').click(function() {
$(this).attr("src", "authcode.aspx");
});
验证码:<input id="authcode" type="text" class="required" name="authcode" />
<img src="authcode.aspx" width="60px" height="30px" style="cursor:pointer" id="authimage"/>
注意,这个验证码图片的路径是一个动态页面!我们就在这个动态页面中利用GDI+技术绘制出验证码
authcode.cs
public partial class authcode : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
// 验证码中可能出现的字符
string authCodeString = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
// 验证码字符集合长度
int length = authCodeString.Length;
// 绘制字符字体
Font f = new Font("宋体", 24, FontStyle.Bold);
// 绘制验证码的画刷对象
Brush b = null;
// 绘制验证码的颜色
Color brushColor = new Color();
Bitmap image = new Bitmap(80, 40);
Graphics g = Graphics.FromImage(image);
g.Clear(Color.Gray);// 设置背景
string authCode = string.Empty;// 整个显示给用户的验证码
string code = string.Empty; // 当前绘制的验证码
Random random = new Random();
for (int i = 0; i < 4; i++)
{
// 取余保证current长度不会超过验证码字符集合长度
int current = random.Next((DateTime.Now.Millisecond) % length);
// 验证码字符集合任意截取一个字符
code = authCodeString.Substring(current, 1);
authCode += code;
brushColor = Color.FromArgb(random.Next(255), random.Next(255), random.Next(255));
b = new SolidBrush(brushColor);
// 绘制刚刚得到的字符串
g.DrawString(code, f, b, i * 15, 2);
}
Response.Clear();
Response.ContentType = "image/pjpeg";
// 将对象保存到Response输出流中
image.Save(Response.OutputStream, ImageFormat.Jpeg);
image.Dispose();
Session["authCode"] = authCode; // 在服务器端保存验证码,用来比较
Response.End();
}
}
分享到:
相关推荐
在本主题中,我们将深入探讨如何使用GDI+(Graphics Device Interface Plus)在ASP.NET中生成验证码。GDI+是.NET Framework的一部分,是一个图形绘制的API,可以用于创建图像、绘制文本以及处理各种图形对象。 ...
本教程主要探讨如何使用C#编程语言结合GDI+库来创建数字验证码。GDI+(Graphics Device Interface Plus)是.NET Framework提供的一种图形绘制技术,允许程序员进行高级图形处理,如图像绘制、文字渲染等。 首先,...
本教程源码深入讲解了如何利用C#和GDI+进行画图操作,包括但不限于创建验证码、图像处理等方面。 1. **GDI+基础** - **图形对象**:GDI+中的`Graphics`类是所有绘图操作的核心,用于在特定设备上下文中执行绘图。 ...
- **生成验证码字符**:根据随机数生成 0-9 的数字或 A-Z 的大写字母。 - **生成验证码字符串**:通过循环将生成的字符拼接成一个字符串。 ##### 2. 验证码图像绘制 ```csharp private void CodeImage(string ...
C#版本的验证码图片生成源码,其他语言编写亦可借鉴!!!蛮强大滴,伙计...
总结起来,这个基于GDI+的图片显示控件是一个功能强大的组件,它集成了图片加载、显示、验证码生成和加载效果,为开发者提供了便捷的图形处理能力。通过ImageLoadCtrl文件,我们可以进一步了解和使用这个控件,提升...
该类是生成一个验证码的类。本人集合了网上大部分的C#关于GDI+的文章进行多次改进,现在已经形成了可在生产环节中使用的验证码。 该验证码加入了背景噪点,背景噪点曲线和直线,背景噪点文字以及扭曲,调暗,模糊等...
本文将深入探讨如何利用GDI+实现简单的文字到图片的转换,这是一个常见的需求,例如在创建验证码、生成可分享的引述图片或者自动化报告时。 首先,我们要了解GDI+的基本概念。它是Windows系统中一个强大的图形处理...
在ASP.NET中,我们可以利用GDI+来生成验证码图像。具体实现步骤包括: 1. **生成随机字符串**:首先,我们需要生成一段随机的字符串,通常包含字母、数字或者特殊字符。这段字符串是验证码的内容,需要在图像上显示...
本程序是采用Windows GDI+技术模拟Web上的验证码生成而设计的一款Windows版验证码随机生成程序,利用GDI+图形图像处理技术,可随机生成强验证码(即汉字验证码)或弱验证码(即数字和字母组合验证码),支持验证码的...
在本项目中,我们将探讨如何使用C#编程语言结合GDI+(Graphics Device Interface的增强版)来创建自定义的验证码生成器。 GDI+是.NET Framework的一部分,提供了丰富的图形绘制功能,包括直线、曲线、文本、图像等...
本案例是针对.NET框架,使用C#编程语言和GDI+(Graphics Device Interface)图形库来创建一个简单的验证码生成器。下面我们将详细探讨这些知识点。 1. **GDI+**: GDI+是Windows操作系统中的一个图形处理库,它为...
同时,生成验证码的速度也需要注意,不能影响用户体验。 9. **测试和评估**:生成的验证码需要进行人眼可读性和机器可破解性的测试,以调整参数并优化设计。 10. **错误处理**:在开发过程中,错误处理机制必不可...
在创建验证码时,GDI+可以用来生成随机的文本和图像,增加机器识别的难度。 以下是如何使用C#.NET和GDI+实现验证码的步骤: 1. **生成随机字符串**:首先,我们需要生成一个随机的字符串作为验证码。这个字符串...
在VB(Visual Basic)环境中,我们可以利用图形处理技术来创建一个自动生成验证码的小程序。下面我们将深入探讨如何使用VB来实现这一功能。 1. **理解验证码的原理** 验证码的基本原理是生成一串随机字符,并将其...
在C#编程中,生成验证码是一项常见的任务,主要用于防止机器人或恶意软件自动填充表单,保护网站的安全性。本文将详细介绍如何使用C#自动生成Web图形验证码,以及提供一个简单的5位数字验证码生成示例。 首先,理解...
这个控件将负责生成随机的中文字符、设置字符的字体和颜色、以及在服务器端生成验证码图像。在生成字符时,可以利用.NET Framework中的`Random`类来选择中文字符集中的随机字符,通常使用Unicode编码范围来获取中文...
在本项目中,我们探讨的是一个使用C#编程语言实现的验证码生成器,它能够创建具有随机字体大小、样式以及模糊效果的图像验证码。 在C#中,我们可以利用GDI+图形库来创建和操纵图像。这个验证码程序可能使用了`...
以上就是使用C#的GDI技术生成验证码的基本步骤和原理。这个过程涉及到的C#类和方法都是GDI的核心部分,包括`Bitmap`、`Graphics`、`Font`、`SolidBrush`、`Pen`等,它们共同构成了图形绘制的基础。理解并熟练掌握...
在本话题中,我们将深入探讨如何生成验证码,特别是基于随机字符串的图像验证码。 首先,生成随机字符串是创建验证码的关键步骤。随机字符串通常包含字母、数字以及可能的特殊字符,长度可以根据需求设定,比如4到6...