国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

C# 生成簡單驗證碼

2019-11-17 01:42:48
字體:
來源:轉載
供稿:網友

C# 生成簡單驗證碼

網站登錄總是會用到驗證碼,生成驗證碼對于C#來說很簡單。因為有專門封裝好的GDI+類可以直接調用使用具體代碼如下

 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Web; 5 using System.Web.UI; 6 using System.Web.UI.WebControls; 7 using System.Drawing; 8  9 namespace Ajax.驗證碼10 {11     public partial class Yanma : System.Web.UI.Page12     {13         PRivate int CodeNum = 4;14         private string codeNum = "";15         protected void Page_Load(object sender, EventArgs e)16         {17             VeriflcationCode();18             HuaCode(codeNum);19         }20 21         private void VeriflcationCode()22         {23             //生成驗證碼24             string AllChar = "1,2,3,4,5,6,7,8,9,0,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,W,X,Y,Z";25             string[] StrChar = AllChar.Split(',');26             Random rd = new Random();27             string Codes = "";28             for (int i = 0; i < CodeNum; i++)29             {30                 Codes += StrChar[rd.Next(0, 35)];31             }32             codeNum = Codes;33             session["VerCode"] = Codes; 34         }35 36         private void HuaCode(string Codes)37         {38             int iwidth = (int)(Codes.Length * 17);//定義畫布的寬39             System.Drawing.Bitmap images = new System.Drawing.Bitmap(iwidth, 25);//聲明一個畫布類,初始化圖片的寬和高40 41             Graphics g = Graphics.FromImage(images);42             Font f = new Font("Arial", 14);//定義文字類型43             Brush b = new System.Drawing.SolidBrush(Color.Black);//文字顏色 黑色44             Brush r = new System.Drawing.SolidBrush(Color.FromArgb(166, 8, 8));//文字顏色 45             g.Clear(System.Drawing.ColorTranslator.FromHtml("#99C1CB"));//背景色46 47             char[] ch = Codes.ToCharArray();48             for (int i = 0; i < ch.Length; i++)49             {50                 if (ch[i] >= '0' && ch[i] <= '9')51                 {52                     //數字用紅色顯示 53                     g.DrawString(ch[i].ToString(), f, r, 3 + (i * 14), 3);//將文字畫出 文字、字體類型、字體顏色、字體間距、字體于頂部間距54                 }55                 else56                 {   //字母用黑色顯示57                     g.DrawString(ch[i].ToString(), f, b, 3 + (i * 14), 3);58                 }59             }60 61             //for循環用來生成一些隨機的水平線62             Pen blackPen = new Pen(Color.Black, 0);63             Random rand = new Random();64             for (int i = 0; i < 5; i++)65             {66                 int y = rand.Next(images.Height);67                 g.DrawLine(blackPen, 0, y, images.Width, y);68             }69 70 71             System.IO.MemoryStream ms = new System.IO.MemoryStream();72             images.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);73             //history back 不重復 74             Response.Cache.SetNoStore();//這一句         75             Response.ClearContent();76             Response.ContentType = "image/Jpeg";77             Response.BinaryWrite(ms.ToArray());78             g.Dispose();79             images.Dispose();80         }

效果為:


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 杭州市| 临邑县| 故城县| 民和| 屏山县| 土默特右旗| 凤庆县| 普兰店市| 八宿县| 浦江县| 庄河市| 莆田市| 江阴市| 乌兰县| 泗阳县| 尤溪县| 甘孜县| 北碚区| 连城县| 怀来县| 吉水县| 缙云县| 水城县| 景德镇市| 大埔区| 集安市| 金乡县| 镇巴县| 德惠市| 密山市| 锦州市| 綦江县| 宣城市| 亳州市| 中卫市| 新宁县| 弥渡县| 松阳县| 铜鼓县| 攀枝花市| 乌什县|