怎么在asp.net中利用ashx生成一个图形验证码

  介绍

本篇文章为大家展示了怎么在asp.net中利用ashx生成一个图形验证码,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

1。写个ashx生成图形验证码

using 系统;   using  System.Collections;   using  System.Data;   using 来;   using 包含;   using  System.Web.Services;   using  System.Web.Services.Protocols;   using  System.Xml.Linq;   using  System.Web.SessionState;   using  System.Drawing;   namespace  usechecknum.ashx   {///才能,& lt; summary>///才能,codebehindclassname,美元的摘要说明///才能,& lt;/summary>   (网络服务才能(=Namespace “http://tempuri.org/"))   [WebServiceBinding才能(ConformsTo =, WsiProfiles.BasicProfile1_1))   public 才能class  doCreateNum : IHttpHandler, IRequiresSessionState   {才能   ,,,public  void  ProcessRequest (HttpContext 上下文)   ,,,{   ,,,,,context.Response.ContentType =,“文本/html";   ,,,,,string  checkCode =, GetValidation(5),,//,产生5位随机验证码字符   ,,,,,context.Session [“Code"],=, checkCode;,//将字符串保存到会话中,以便需要时进行验证   ,,,,,System.Drawing.Bitmap  image =, new  System.Drawing.Bitmap (70,, 22);   ,,,,,Graphics  g =, Graphics.FromImage(图片);   ,,,,,试一试   ,,,,,{   ,,,,,,,//生成随机生成器   ,,,,,,,Random  Random =, new 随机();   ,,,,,,,//清空图片背景色   ,,,,,,,g.Clear (Color.White);   ,,,,,,,//,画图片的背景噪音线   ,,,,,,,int 我;   ,,,,,,,for (小姐:=,0;,小姐:& lt;, 25;,我+ +)   ,,,,,,,{   ,,,,,,,,,int  x1 =, random.Next (image.Width);   ,,,,,,,,,int  x2 =, random.Next (image.Width);   ,,,,,,,,,int  y1 =, random.Next (image.Height);   ,,,,,,,,,int  y2 =, random.Next (image.Height);   ,,,,,,,,,g.DrawLine (new 笔(Color.Silver), x1,日元,x2, y2);   ,,,,,,,}   ,,,,,,,Font  Font =, new  System.Drawing.Font (“Arial",, 12日,(System.Drawing.FontStyle.Bold));   ,,,,,,,System.Drawing.Drawing2D.LinearGradientBrush  brush =, new  System.Drawing.Drawing2D.LinearGradientBrush (new 矩形(0,0,image.Width,, image.Height),, Color.Blue,, Color.DarkRed,, 1.2 f, true);   ,,,,,,,g.DrawString (checkCode,字体,,刷,,2,,2);   ,,,,,,,//画图片的前景噪音点   ,,,,,,,g.DrawRectangle (new 笔(Color.Silver), 0, 0), image.Width 作用;1,image.Height 作用;1);   ,,,,,,,System.IO.MemoryStream 小姐=,new  System.IO.MemoryStream ();   ,,,,,,,image.Save (System.Drawing.Imaging.ImageFormat.Gif女士也);   ,,,,,,,context.Response.ClearContent ();   ,,,,,,,context.Response.ContentType =,“图像/Gif";   ,,,,,,,context.Response.BinaryWrite (ms.ToArray ());   ,,,,,}   ,,,,最后   ,,,,,{   ,,,,,,,g.Dispose ();   ,,,,,,,image.Dispose ();   ,,,,,}   ,,,}   ,,,public  string  GetValidation (int  num)   ,,,{   ,,,,,string  str =,“0123456789 abcdefghijklmnopqrstuvwxyz",,//盎蛘咝春鹤忠残?   ,,,,,string  validatecode =,““   ,,,,,Random  rd =, new 随机();   ,,,,,for  (int 小姐:=,0;,小姐:& lt;, num;,我+ +)   ,,,,,{   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

怎么在asp.net中利用ashx生成一个图形验证码