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;

namespace MyCompany.Web
{
/// <summary>
/// 验证码图片生成
/// </summary>

public class ValidateNum : System.Web.UI.Page
{
private void Page_Load(object sender, System.EventArgs e)
{
//生成随机生成器
Random random=new Random();

string validateNum = "";
string s = "0123456789";

for (int i = 0; i < 4; i++)
{
validateNum 
+= s[random.Next(s.Length)];
}


HttpContext.Current.Session[
"validateNum"= validateNum;
// 在此处放置用户代码以初始化页面
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|FontStyle.Italic));
LinearGradientBrush brush 
= new LinearGradientBrush(new Rectangle(00, image.Width, image.Height), Color.OrangeRed, Color.OrangeRed, 1.2ftrue);
g.DrawString(validateNum, font, brush, random.Next(
1+ 1, random.Next(1+ 1);
//画图片的边框线
g.DrawRectangle(new Pen(Color.Silver), 00, 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();
}

}


Web 窗体设计器生成的代码
}

}

 

posted on 2007-02-14 09:38  mbskys  阅读(105)  评论(0)    收藏  举报