C#創(chuàng)建驗證碼學(xué)習(xí)筆記
作者:佚名
本文介紹要完成C#創(chuàng)建驗證碼,首先,創(chuàng)建一個CLASS類,然后需要add Reference的方式添加 System.Drawing(畫畫的類)。
要完成C#創(chuàng)建驗證碼,首先,創(chuàng)建一個CLASS類,然后需要add Reference的方式添加 System.Drawing(畫畫的類)。
C#創(chuàng)建驗證碼代碼如下:
- /**////<summary>
- ///定義顯示的隨機(jī)字符
- ///</summary>
- ///<paramnameparamname="strList"></param>
- ///<returns></returns>
- privatestringimageStr(char[]strList)
- ...{
- if(strList==null)
- strList="1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ".ToCharArray();
- intcodeLengh=4;
- stringradomCode="";
- Randomr=newRandom();
- for(inti=0;i<codeLengh;i++)
- ...{
- radomCode+=strList[r.Next(strList.Length)];
- }
- returnradomCode;
- }
- /**////<summary>
- ///創(chuàng)建隨機(jī)驗證字符的IMAGE,并保存,同時返回隨機(jī)字符串
- ///</summary>
- ///<paramnameparamname="iWidth">圖片寬度0時,默認(rèn)為55</param>
- ///<paramnameparamname="iHeight">圖片高度0時,默認(rèn)為22</param>
- ///<paramnameparamname="font">字符字體null時,默認(rèn)為"Arial",12,
FontStyle.Bold</param>- ///<paramnameparamname="sb">字符顏色null時,默認(rèn)為紅</param>
- ///<paramnameparamname="ImagePath">需要保存的文件絕對路徑</param>
- ///<paramnameparamname="strList">隨即字符庫null時,默認(rèn)為0-9A-Z</param>
- ///<returns>返回隨機(jī)字符串</returns>
- publicstringcreateImgWithStr
(intiWidth,intiHeight,Fontfont,SolidBrushsb,stringImagePath,char[]strList)- ...{
- if(font==null)
- font=newFont("Arial",12,FontStyle.Bold);
- if(sb==null)
- sb=newSolidBrush(Color.Red);
- if(iWidth==0)
- iWidth=55;
- if(iHeight==0)
- iHeight=22;
- //得到隨機(jī)字符串
- stringimageString=imageStr(strList);
- //定義橫向豎向都畫4跳線
- intlineCount=4;
- 這2支筆用來畫線條的
- Penpen1=newPen(Color.Gold,1);
- Penpen2=newPen(Color.Black,2);
- //定義圖片
- Bitmapimage=newBitmap(iWidth,iHeight);
- //跟J2ME一樣的畫筆
- GraphicsGraphicsg=Graphics.FromImage(image);
- //先畫背景色當(dāng)然你可以自定義下
- g.Clear(ColorTranslator.FromHtml("#F0F0F0"));
- //確定寫字的落點(diǎn)
- Rectanglerect=newRectangle(5,2,iWidth,iHeight);
- Randomr=newRandom();
- //默認(rèn)隨機(jī)畫橫向豎向4條線
- for(inti=0;i<lineCount;i++)
- ...{
- Pointp1=newPoint(0,r.Next(iHeight));
- Pointp2=newPoint(iWidth,r.Next(iHeight));
- Pointp3=newPoint(r.Next(iWidth),0);
- Pointp4=newPoint(r.Next(iWidth),iHeight);
- g.DrawLine(pen1,p1,p2);
- g.DrawLine(pen2,p3,p4);
- }
- //寫字
- g.DrawString(imageString,font,sb,rect);
- //刪除源文件
- if(File.Exists(ImagePath))
- File.Delete(ImagePath);
- //保存文件,我定義為jpeg格式
- image.Save(ImagePath,System.Drawing.Imaging.ImageFormat.Jpeg);
- //釋放資源
- g.Dispose();
- image.Dispose();
- returnimageString;
- }
以上介紹C#創(chuàng)建驗證碼
【編輯推薦】
責(zé)任編輯:佚名
來源:
中國IT實(shí)驗室