#region 实现一个验证码的类
public class ValidateCode { private Bitmap validateimage; private Graphics g; public ValidateCode() { validateimage = new Bitmap(120, 30, PixelFormat.Format24bppRgb); g = Graphics.FromImage(validateimage); }
public void DrawValidateCode(Page e, string i) { g.DrawString(i, new Font("黑体",16,FontStyle.Bold),new SolidBrush(Color.White),new PointF(2,4)); g.FillRectangle(new LinearGradientBrush(new Point(0,0), new Point(120,30), Color.FromArgb(0,0,0,0),Color.FromArgb(255,255,255,255)),0,0,120,30); //validateimage.Save(e.OutputStream, ImageFormat.Jpeg); g.Save(); MemoryStream ms=new MemoryStream(); validateimage.Save(ms,System.Drawing.Imaging.ImageFormat.Gif); e.Response.ClearContent(); e.Response.ContentType="image/gif"; e.Response.BinaryWrite(ms.ToArray()); e.Response.End(); //validateimage.Save(e.MapPath("NumImage/ValidateImage.gif"), ImageFormat.Gif); //e.End(); } }
#endregion
private void MakeValidateCode() { char[] s = new char[]{"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","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 num = ""; Random r = new Random(); for(int i = 0; i < 5; i++) { num += s[r.Next(0, s.Length)].ToString(); } ((LoginUserInfo)Session["LoginUserInfo"]).ValidateNum = num; TextBox3.Text = ""; } |