介绍
本篇文章为大家展示了怎么在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生成一个图形验证码