private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
Response.BufferOutput = true; //缓冲输出
Response.Cache.SetExpires(DateTime.Now.AddMilliseconds(-1));
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.AppendHeader("Pragma", "No-Cache");
string key=CreateValidateKey(5);//生成验证码,参数为验证码长度
Session["ValiDateKey"]=key;//验证码保存到Session,以便调用页面效验
CreateValidateImage(key);//生成并输出验证码图像
}
private string CreateValidateKey(int keyLength)
{
System.Text.StringBuilder sb=new System.Text.StringBuilder();
string key="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZz";
char[] keyBase=key.ToCharArray();
Random rnd=new Random();
for(int i=0;i<keyLength;i++)
{
sb.Append(keyBase[rnd.Next(0,keyBase.Length)]);
}
return sb.ToString();
}
private void CreateValidateImage(string key)
{
Bitmap validateImg=new Bitmap(key.Length*14,24,PixelFormat.Format24bppRgb);//宽60,高30,24位RGB颜色
Graphics g=Graphics.FromImage(validateImg);//绘图对象
Font f=new Font("Arial",12,FontStyle.Bold);
g.Clear(Color.DarkSalmon);//填充背景色
g.DrawString(key,f,Brushes.White,new PointF(0,2));//将字写到画板
//可在此再添加干扰线条的代码
g.Save();
MemoryStream m=new MemoryStream();
validateImg.Save(m,ImageFormat.Gif);//输出内存流
Response.ClearContent();//清除所有内容
Response.ContentType="image/bmp";//输出类型位图像
Response.BinaryWrite(m.ToArray());
Response.End();
}
{
// 在此处放置用户代码以初始化页面
Response.BufferOutput = true; //缓冲输出
Response.Cache.SetExpires(DateTime.Now.AddMilliseconds(-1));
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.AppendHeader("Pragma", "No-Cache");
string key=CreateValidateKey(5);//生成验证码,参数为验证码长度
Session["ValiDateKey"]=key;//验证码保存到Session,以便调用页面效验
CreateValidateImage(key);//生成并输出验证码图像
}
private string CreateValidateKey(int keyLength)
{
System.Text.StringBuilder sb=new System.Text.StringBuilder();
string key="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZz";
char[] keyBase=key.ToCharArray();
Random rnd=new Random();
for(int i=0;i<keyLength;i++)
{
sb.Append(keyBase[rnd.Next(0,keyBase.Length)]);
}
return sb.ToString();
}
private void CreateValidateImage(string key)
{
Bitmap validateImg=new Bitmap(key.Length*14,24,PixelFormat.Format24bppRgb);//宽60,高30,24位RGB颜色
Graphics g=Graphics.FromImage(validateImg);//绘图对象
Font f=new Font("Arial",12,FontStyle.Bold);
g.Clear(Color.DarkSalmon);//填充背景色
g.DrawString(key,f,Brushes.White,new PointF(0,2));//将字写到画板
//可在此再添加干扰线条的代码
g.Save();
MemoryStream m=new MemoryStream();
validateImg.Save(m,ImageFormat.Gif);//输出内存流
Response.ClearContent();//清除所有内容
Response.ContentType="image/bmp";//输出类型位图像
Response.BinaryWrite(m.ToArray());
Response.End();
}