using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Drawing.Imaging;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.IO;
public partial class RandomNumImg : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//生成随机生成器
Random random = new Random();
string validateNum = "";
string s = "0123456789QWERTYUIOPASDFGHJKLZXCVBNM";
for (int i = 0; i < 4; i++)
{
validateNum += s[random.Next(s.Length)];
}
HttpContext.Current.Session["validateNum"] = validateNum;//5_1_a_s_p_x
// 在此处放置用户代码以初始化页面
Bitmap image = new Bitmap((int)Math.Ceiling(validateNum.Length * 12.5), 22);
Graphics g = Graphics.FromImage(image);
try
{
//清空图片背景色
g.Clear(Color.White);
Font font = new Font("Arial", 12, (FontStyle.Bold));
LinearGradientBrush brush = new LinearGradientBrush(new Rectangle(0, 0, image.Width, image.Height), Color.OrangeRed, Color.OrangeRed, 1.2f, true);
g.DrawString(validateNum, font, brush, random.Next(1) + 1, random.Next(1) + 1);
//画图片的边框线
//g.DrawRectangle(new Pen(Color.Silver), 0, 0, image.Width - 1, image.Height - 1);
//保存图片数据
MemoryStream stream = new MemoryStream();
image.Save(stream, ImageFormat.Jpeg);
//输出图片
Response.Clear();
Response.ContentType = "image/jpeg";
Response.BinaryWrite(stream.ToArray());
}
finally
{
g.Dispose();
image.Dispose();
}
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
}
最后在条用页面的后台代码中添加Onclick事件:
this.Img(表示产生验证码的控件的ID).Attributes.Add("onclick", "this.src='RandomNumImg.aspx?'+Math.random();");