设为首页 加入收藏 网站首页
休闲娱乐
军事·社会百态·娱乐八卦·校园
体育·美女写真·幽默笑话·游戏
综合·在线视频·搞笑图片·灵异
两性生活
两性知识·性爱技巧
情色实录·两性图片
女性健康·同性之恋
电脑网络
网络编程·网页制作·软件教学
操作系统·图形图象·冲浪宝典
网络安全·邮件系统·认证考试
热点专题
芙蓉·真人漫画
72式·欲望都市
帅哥·人体彩绘
您现在的位置: 世纪中国 >> 网络编程 >> ASP.NET教学 >> asp.net实例 >> 教程正文
自己写的一个图形验证码页面(Asp.Net2.0通过)
作者:中国图霸    教程来源:网络    点击数:    更新时间:2007-1-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();
  

[1] [2] [3] 下一页

分类推荐
社会 社会 娱乐 军事 校园
幽默 体育 女性 专题
电脑 编程 网页 软件 系统
安全 图象 冲浪 认证
搞笑 人物 动物 物品 表情
签名 色图 漫画 奇闻
美女 明星 清纯 自拍 欧美
丝袜 卡通 性感 走光
两性 知识 性图 孕育 技巧
同性 单身 情感 实录
视频 写真 搞笑 MTV 翻唱
写实 片段 游戏 综艺
asp.net实例热门文章
普通教程 用Asp.Net创建基于Ajax的聊天室
普通教程 用ASP.NET 2.0设计网络在线投票
普通教程 设计ASP.NET新闻管理系统
普通教程 asp.net 上传大文件控件
普通教程 ASP.NET中实时图表的实现
普通教程 用ASP.NET结合XML制作广告管理
普通教程 自己写的一个图形验证码页面(A
普通教程 做完一个小网站的一点经验总结
普通教程 ASP.NET结合存储过程写的通用搜
普通教程 支付宝接口(刚完成,应该是目
普通教程 一个最简单的会员登陆代码
普通教程 C#版的网站新闻发布系统
普通教程 如何实现站点的RSS输出
普通教程 做完一个小网站的一点经验总结
普通教程 利用ASP.NET构建网上考试系统
普通教程 做完一个小网站的一点经验总结
普通教程 ASP.NET结合COM组件发送Email
普通教程 DotNet语音技术实现
普通教程 用ASP.NET实现一个简单的计算器
普通教程 用ASP.Net写一个发送ICQ信息的

  广东广州海珠区 世纪网络工作室 版权所有 上海电信提供网络带宽
信箱: 9297659@qq.com 粤ICP备06113754号