| 网站首页 | 文章中心 | 电子书下载 | 矢量图库 | 视频教程 | 素材下载 | 程序代码下载 | JS代码 | 论坛 | 
龙腾教程网  
常用软件类:
|杀毒安全 |联络聊天 |网络软件 |多媒体类 |系统工具 |图形图像 |系统工具 |应用软件 |行业软件
开发设计类:
|动画制作 |图像处理 |3D设计 |操作系统 |站长学院 |网络相关 |WEB设计 |数据库类 |程序开发
 
  您当前位置:您现在的位置: 龙腾软件教程网 >> 文章中心 >> WEB设计 >> asp.net >> asp.net技巧 >> 文章正文>>>>>> 
ASP.NET2.0制作中文验证码的方法
这里只是一个简单的例子,字体也只是单一的一种,如果想有更好的效果那就把每一个字都设一种单独的字体,这样一来效果会好很多。希望对各位有所帮助

在判断的时候只要把取得的文本框的值与“Session["valicode"] ”进行判断是否一致就行了。


//建立位图对象
        Bitmap NewbitMap = new Bitmap(90, 22, PixelFormat.Format32bppArgb);
        //根据上面创建的位置对象创建绘图面
        Graphics g = Graphics.FromImage(NewbitMap);
        //以指定的颜色填充矩形区
        g.FillRectangle(new SolidBrush(Color.White), new Rectangle(0, 0, 90, 22));
        //创建字体对象
        Font newfont = new Font("幼圆", 14);
        //创建RectangleF结构指定一个区域
        RectangleF rectangle = new RectangleF(0, 0, 90, 22);
        //创建随机数
        Random Newrd = new Random();
        string[] abcd="我,是,没,高,天,地,聊,材,盆,浊,小,涯,尖,欠,猪,左,腿,刀,吃,渴,棍,皮,影,歇,草,营,救,税,说,坏,通,病,二,世,期,春,季,弄,刑,事,警,强,窝,菜,干,什,前,都,哭,拉,面,鱼,文,鬼,或,热,狗,蛋,毛,笔,网,件,构,试,社,帮,耐,烧,粘,苹,鞋,板,裳,花,海,题,a,e,f,r,9,0,k,2,4,7,1,3,q,w,y,u,v,x,p,s,a,d,8,5,t".Split(',');
        int RamStr=Newrd.Next(1,100);
        int Ramstr1 = Newrd.Next(1, 100);
        int Ramstr2 = Newrd.Next(1, 100);
        int Ramstr3 = Newrd.Next(1, 100);
        string ValiNum = abcd[RamStr] + abcd[Ramstr1] + abcd[Ramstr2] + abcd[Ramstr3].ToString();
        Session["valicode"] = ValiNum.ToString();
        //使用指定的颜色填充上面RectangleF结构指定的矩形区域
        g.FillRectangle(new SolidBrush(Color.BurlyWood), rectangle);
        //绘制随机线条
        for(int ii =0;ii<10;ii++)
        {
            int x1=Newrd.Next(NewbitMap.Height);
            int y1=Newrd.Next(NewbitMap.Width);
            int x2 = Newrd.Next(NewbitMap.Height);
            int y2 = Newrd.Next(NewbitMap.Width);
            g.DrawLine(new Pen(Color.Azure), x1, y2, y1, x1);
        }
        //在上面填充的矩形区域中填充上面生成的随机数
        g.DrawString(ValiNum, newfont, new SolidBrush(Color.Blue), rectangle);
        for (int i = 0; i < 50; i++)
        {
            int x = Newrd.Next(NewbitMap.Width);
            int y = Newrd.Next(NewbitMap.Height);
            NewbitMap.SetPixel(x, y, Color.FromArgb(Newrd.Next()));
        }
        MemoryStream ms = new MemoryStream();
        NewbitMap.Save(ms, ImageFormat.Gif);
        Response.ClearContent();
        Response.ContentType = "image/Gif";
        Response.BinaryWrite(ms.ToArray());

上一篇:
  • 上一篇文章:
  • 下一篇
  • 下一篇文章:
  • 收藏此文到百度搜藏 百度搜藏| 新浪VIvi| 365key| Younote| 博采中心| 你好BLOG| 亿友网摘| 和讯网摘|
    相关文章    
    Asp.Net文件上传实现Flash进度条代码实例
    asp.net2.0利用MySQL ODBC Driver-MyODBC 3
    asp.net2.0 gridview控件实现手动分页方法
    as.net连接MYSQL数据的方法
    ASP.NET 2.0 数据访问控件功能详解
    ASP.NET如何在窗体和窗体之间传送数据
    ASP.NET 2.0的URL映射的实现方法
    Asp.net中使用HtmlArea编辑器
    Asp.net编程中的数组基础实例学习
    ASP.NET Ajax调用WCF服务示例
     
     
     
    最新文章
    普通文章 Fireworks制作超酷水晶按钮最新文章
    普通文章 AfterEffects制作草原上的阳光特最新文章
    普通文章 搞定Windows XP经典故障之桌面故最新文章
    普通文章 CSS网页样式的技巧经验总结最新文章
    普通文章 3DS MAX制作炫彩紫光片头特效最新文章
    普通文章 Asp.Net文件上传实现Flash进度条最新文章
    普通文章 ASP.NET2.0制作中文验证码的方法最新文章
    普通文章 MySQL数据库中的各种乱码及其解决最新文章
    普通文章 FlashGet 2.0 B4实现终极批量下载最新文章
    普通文章 Illustrator制作花边的方法和技巧最新文章
     
    热门文章
    推荐文章 新手入门-Windows系统下安装ORAC
     
     
     
    设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 

    版权所有2006-2008 龙腾教程网