c# .net 生成图片验证码 By shawl.qiu

    技术2022-05-11  81

    c# .net 生成图片验证码 By shawl.qiu 

     说明:  .net 万岁...  .net framework 的类库真是太强了, 用 GDI+ 可以干N多N多事情.   广告时间:  shawl.qiu C# CMS 系统 预计40天后开始编码, 现在逐步设计中, 免得到时求职说什么什么作品...唉.    PS: 今天求职真是惨不忍睹, 谁要招网页相关的请联系 13435580019, 邱先生.  什么地方俺都去, 工资只要能过活就行,  但是食宿问题得解决.    shawl.qiu  2007-02-01  http://blog.csdn.net/btbtd    class checkcode: <%@ Page Language="C#" AutoEventWireup="True" %> <%@ import Namespace="System.Drawing"%> <%@ import Namespace="System.Drawing.Drawing2D"%> <%@ import Namespace="System.Web"%> <script runat="server">  private void Page_Load(object sender, System.EventArgs e)  {   String sRndStr=checkcode.rndStr(4);   checkcode.general(sRndStr);  }  /*-----------------------------------------------------------------------------------*/  * shawl.qiu c# .net checkcode class v1.0 /*-----------------------------------------------------------------------------------*/ //---------------------------------------------------------------------begin class checkcode public class checkcode {  //-----------------------------------begin event  public checkcode()  {  }   ~checkcode()  {  }  //-----------------------------------end event   //-----------------------------------begin public constant  //-----------------------begin about  public const String auSubject="shawl.qiu c# .net checkcode class";  public const String auVersion="v1.0";  public const String au="shawl.qiu";  public const String auEmail="shawl.qiu@gmail.com";  public const String auBlog="http://blog.csdn.net/btbtd";  public const String auCreateDate="2007-2-1";  //-----------------------end about  //-----------------------------------end public constant   //-----------------------------------begin public static method  public static void general(String sCc)  {   Int32 ccLen=sCc.Length;      String ccFtFm="Arial";   Int32 ccFtSz=12;      Int32 ccWidth=ccLen*ccFtSz+1;   Int32 ccHeight=ccFtSz+5;      using(Bitmap oImg = new Bitmap(ccWidth, ccHeight))   {    using(Graphics oGpc=Graphics.FromImage(oImg))    {     HatchBrush hBrush = new HatchBrush(HatchStyle.DashedVertical,       Color.Yellow, Color.Silver);      oGpc.FillRectangle(hBrush, 0, 0, ccWidth, ccWidth);          oGpc.DrawString(sCc,new System.Drawing.Font(ccFtFm,ccFtSz, FontStyle.Bold),      new System.Drawing.SolidBrush(Color.Black),0,0);            //-----------------------边框     Pen blackPen = new Pen(Color.Black, 1);     oGpc.DrawLine(blackPen, 0, ccHeight, 0, 0); // 左竖线     oGpc.DrawLine(blackPen, 0,0,ccWidth,0); // 顶横线     oGpc.DrawLine(blackPen, ccWidth-1,0,ccWidth-1,20); // 右竖线     oGpc.DrawLine(blackPen, 0, ccHeight-1, ccWidth, ccHeight-1); // 底横线          writeImg(oImg);    }   }  } // end public static void general   public static String rndStr(Int32 len)  {   String sTemp="";   String sForRnd="0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z";   String[] aRnd=sForRnd.Split(',');      Random oRnd=new Random();   Int32 iArLen=aRnd.Length;      for(Int32 i=0; i<len; i++)   {    sTemp+=aRnd[oRnd.Next(0,iArLen)];   }   return sTemp;  } // end public static String rndStr  //-----------------------------------end public static method   //-----------------------------------begin private static method  private static void writeImg(Bitmap oImg)  {   using(System.IO.MemoryStream ms=new System.IO.MemoryStream())   {    oImg.Save(ms,System.Drawing.Imaging.ImageFormat.Png);     HttpContext.Current.Response.ClearContent();      HttpContext.Current.Response.ContentType="image/Png";    HttpContext.Current.Response.BinaryWrite(ms.ToArray());   }  } // end private static void writeImg } //---------------------------------------------------------------------end class checkcode </script>    

    最新回复(0)