ASP.NET中画图形验证码的实现代码

所属分类: 网络编程 / ASP.NET 阅读数: 2032
收藏 0 赞 0 分享

本文给大家分享一段asp.net代码实现画图形验证码功能,代码简单易懂,具体代码如下所示:

context.Response.ContentType = "image/jpeg";
   //生成随机的中文验证码
   string yzm = "人口手大小多少上中下男女天地会反清复明杨中科小宝双儿命名空间语现在明天来多个的我山东河北南固安北京南昌东海西安是沙河高教园学"
    + "木禾上下土个八入大天人火文六七儿九无口日中了子门月不开四五目耳头米见白田电也长山出飞马鸟云公车牛羊小少巾牙尺毛又心手水广升足"
    + "走方半巴业本平书自已东西回片皮生里果几用鱼今正雨两瓜衣来年左右万百丁齐冬说友话春朋高你绿们花红草爷亲节的岁行古处声知多忙洗真认父扫"
    + "母爸写全完关家看笑着兴画会妈合奶放午收女气太早去亮和李语秀千香听远唱定连向以更后意主总先起干明赶净同专工才级队蚂蚁前房空网诗黄林闭"
    + "童立是我朵叶美机她过他时送让吗往吧得虫很河借姐呢呀哪谁凉怕量跟最园脸因阳为光可法石找办许别那到都吓叫再做象点像照沙海桥军竹苗井面乡"
    + "忘想念王这从进边道贝男原爱虾跑吹乐地老快师短淡对热冷情拉活把种给吃练学习非苦常问伴间共伙汽分要没孩位选北湖南秋江只帮星请雪就球跳玩"
    + "桃树刚兰座各带坐急名发成动晚新有么在变什条";
   Random r = new Random();
   string validCode = "";
   for (int i = 0; i < 4; i++)
   {
    int number = r.Next(0, yzm.Length);
    validCode += yzm[number];
   }
   //画图
   using(Bitmap b = new Bitmap(150, 30))
   {
    using (Graphics g = Graphics.FromImage(b))
    using(Font f = new Font("宋体", 20))
    {
     g.Clear(Color.Yellow);//清除整个绘画面并填充指定背景色
     g.DrawString(validCode, f, Brushes.Red, new PointF(0, 0));//开始绘制
     //前景点
     for (int i = 0; i < 100; i++)
     {
      int x = r.Next(0, 150);
      int y = r.Next(0, 30);
      b.SetPixel(x, y, Color.Red);
     }
     //后景线
     for (int i = 0; i < 100; i++)
     {
      int x = r.Next(0, 150);
      int y = r.Next(0, 30);
      g.DrawLine(Pens.Red, x, y, x + 1, y + 1);
     }
    }
    b.Save(context.Response.OutputStream, ImageFormat.Jpeg);//保存到输出流中
   }

参考:

asp.net之生成验证码的方法集锦(一)

Asp.net开发之webform图片水印和图片验证码的实现方法

以上所述是小编给大家介绍的ASP.NET中画图形验证码的实现代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

更多精彩内容其他人还在看

asp.net 虚方法、抽象方法、接口疑问

asp.net 虚方法、抽象方法、接口疑问等说明。
收藏 0 赞 0 分享

c#  操作符?? null coalescing operator

?? "null coalescing" operator 是c#新提供的一个操作符,这个操作符提供的功能是判断左侧的操作数是否是null,如果是则返回结果是右侧的操作数;非null则返回左侧的操作数。
收藏 0 赞 0 分享

.net 反序题目的详细解答第1/2页

在各种答案,以及平时面试过程中,这道题总归会有一些非常典型的错误发生。其中给老赵的感觉也非常有意思,不知其中的“思路”是否如老赵猜测那样。
收藏 0 赞 0 分享

implicitly convert type 'int' to 'short'的原因与解决方法

implicitly convert type 'int' to 'short'的原因与解决方法
收藏 0 赞 0 分享

比较完整的 asp.net 学习流程

好多朋友想学习后台编程语言,但请注意的事,学习后台是个循序渐进的过程,不可能一下就到位,其实不只是asp.net其它的编程语言都需要下面的一些知识。
收藏 0 赞 0 分享

官网 Ext direct包中.NET版的问题

下载了官网的 Ext direct 包进行研究,发现服务器端返回结果存在一点小问题。
收藏 0 赞 0 分享

C# XML操作 代码大全(读XML,写XML,更新,删除节点,与dataset结合等)第1/2页

C#操作XML(读XML,写XML,更新,删除节点,与dataset结合等),以下就是操作XML的所有方法,相信可以满足很大一部份的使用了。
收藏 0 赞 0 分享

c# 连接字符串数据库服务器端口号 .net状态服务器端口号

正常的数据库连接字符串配置,这是在MSSQL服务器端口是1433(默认)的情况下。
收藏 0 赞 0 分享

ASP.NET 路径问题的解决方法

相对路径和绝对路径在ASP.NET中可以用~/来解决.
收藏 0 赞 0 分享

asp.net TemplateField模板中的Bind方法和Eval方法

在TemplateField模板中为了能够有限制的或者取出数据库中某列的值时,可以用Bind和Eval方法来实现。以下是Bind方法的格式,Eval的格式也是和Bind一样的。 Bind("列的名称","显示的格式文")
收藏 0 赞 0 分享
查看更多