设为首页  
联系我们  
加入收藏  
网页制作 冲浪宝典 图形图像 操作系统 软件教学 编程开发 认证考试 安全技术 站长专区 文学驿站 娱乐天地 游戏天地 办公软件
文章搜索
您的位置: 首页 >> 文章首页 >> 编程开发 >> 网络编程 >> ASP.NET实例 >> 自己写的一个图形验证码页面(Asp.Net2.0通过)
精品推荐
ASP.NET实例点击TOP10
·ASP.NET 程序中常用的三十三种代码
·设计ASP.NET新闻管理系统
·C#版的网站新闻发布系统
·利用ASP.NET构建网上考试系统
·ASP.NET的实时天气及24小时天气预报(C#)
·基于css样式绑定的样式驱动式AJAX程序开发(.net实现)
·ASP.NET里常用的JS
·用ASP.NET和XML做的新闻系统
·自己写的一个图形验证码页面(Asp.Net2.0通过)
·ASP.NET程序实现多彩下拉框开发实例解析
网络编程点击TOP10
·ASP.NET 程序中常用的三十三种代码
·CHK文件恢复工具
·.NET 初 级 读 本
·c#操作word表格
·我的.NET书架 (入门篇)
·『原创』C#中TreeView类操作全攻略:建立树,新增节点,删除节点,修改节点,拖动节点,与Oracle数据库交互操作(一)
·从零开始学ASP.NET(基础篇)
·用C#实现木马程序
·十天学会ASP.net之第一天
·官方水晶报表 .NET 应用程序实例下载 (C#、Visual C++.NET)
精选专题

自己写的一个图形验证码页面(Asp.Net2.0通过)

作者: 来源:http://www.xgdown.com/ 时间:2006-9-15 8:08:41

自己写的一个图形验证码页面(Asp.Net2.0通过)(1)

项目需要,要在首页登录界面添加一个图形验证码,赶时髦吧,网上一搜,特别多,找了几个,都不太满意。主要问题是大部分代码生成的图片宽度不唯一,页面布局不容易控制,其次是颜色单一,有些又过于抽象,不仔细看很容易弄错。针对特定的客户,我只需要“图片”长宽固定,颜色多样的数字图形验证码,借鉴网上的现有代码,自己操刀完成,以下是效果图:


原理不复杂,就是把网页当画布,运用各色画笔,在特定区域内画出数字,然后以特定格式(本例为PNG格式)发回客户端,在IE中显示为"图片",用于验证的字符串存于Session中。

主要代码如下:
//  生成随机数字字符串
public string GetRandomNumberString(int int_NumberLength)
{
    string str_Number = string.Empty;
    Random theRandomNumber = new Random();

    for (int int_index = 0; int_index < int_NumberLength; int_index++)
        str_Number += theRandomNumber.Next(10).ToString();

    return str_Number;
}
生成随机颜色
public Color GetRandomColor()
{
    Random RandomNum_First = new Random((int)DateTime.Now.Ticks);
    //  对于C#的随机数,没什么好说的
    System.Threading.Thread.Sleep(RandomNum_First.Next(50));
    Random RandomNum_Sencond = new Random((int)DateTime.Now.Ticks);      

    //  为了在白色背景上显示,尽量生成深色
    int int_Red = RandomNum_First.Next(256);
    int int_Green = RandomNum_Sencond.Next(256);
    int int_Blue = (int_Red + int_Green > 400) ? 0 : 400 - int_Red - int_Green;
    int_Blue = (int_Blue > 255) ? 255 : int_Blue;

    return Color.FromArgb(int_Red, int_Green, int_Blue);
}
根据验证字符串生成最终图象
public void CreateImage(string str_ValidateCode)
{
    int int_ImageWidth = str_ValidateCode.Length * 13;
    Random newRandom = new Random();
    //  图高20px
    Bitmap theBitmap = new Bitmap(int_ImageWidth, 20);
    GraphiCS theGraphics = Graphics.FromImage(theBitmap);

共3页 9 7 [1] [2] [38 :>

自己写的一个图形验证码页面(Asp.Net2.0通过) 相关文章:
自己写的一个图形验证码页面(Asp.Net2.0通过) 相关软件:
特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
转载请注明来源:http://www.xgdown.com