Asp.net验证码的生成
2012-05-02 21:49
369 查看
public partial class Yanzhengma: System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
CreateYanzhengmaImage(GenerateYanzhengma());//用于测试用的生成的四个数字
}
protected string GenerateYangzhengma()
{
int number;//随机数
string Yangzhengma=string.Empty;//返回的字符串
Random rnd = new Random();
for (int i = 0; i < 4; i++)
{
number = rnd.Next(10);//随机生成的数字
Yanzhengma += number.ToString();
}
Response.Cookies.Add(new HttpCookie("Yanzhengma",Yanzhengma));//添加一个cookies 共享的全局变量
return Yanzhengma;
}
protected void CreateYanzhengmaImage(string Yanzhengma)
{
Bitmap bmp = new Bitmap(100, 50);//自定义图形
Graphics g = Graphics.FromImage(bmp);//利用图形来创建绘图面板
Random rnd = new Random();//随机生成
g.Clear(Color.White);//设置背景的颜色为空
//绘制背景 噪音线
for (int i = 0; i < 3; i++)
{
int x1 = rnd.Next(100);
int y1 = rnd.Next(50);
int x2 = rnd.Next(100);
int y2 = rnd.Next(50);
g.DrawLine(new Pen(Color.RosyBrown), x1, y1, x2, y2);//图形的绘制
}
//在图形中绘制字符串
g.DrawString(GenerateYanzhengma(),new Font("Arial",24,FontStyle.Regular),new LinearGradientBrush(new Rectangle(0,0,100,50),Color.Pink,Color.Peru,1.2f,true),2,2);
//设置高亮的像素点
for (int i = 0; i < 100; i++)
{
int x1 = rnd.Next(100);
int y1 = rnd.Next(50);
bmp.SetPixel(x1,y1,Color.FromArgb(rnd.Next(255),rnd.Next(255),rnd.Next(255)));
}
//内存流
MemoryStream ms = new MemoryStream();
//图片的保存
bmp.Save(ms,ImageFormat.Gif);
//清除网页的内容
Response.ClearContent();
Response.ContentType="image/Gif";
Response.BinaryWrite(ms.ToArray());//以二进制的方式写文件
}
}
{
protected void Page_Load(object sender, EventArgs e)
{
CreateYanzhengmaImage(GenerateYanzhengma());//用于测试用的生成的四个数字
}
protected string GenerateYangzhengma()
{
int number;//随机数
string Yangzhengma=string.Empty;//返回的字符串
Random rnd = new Random();
for (int i = 0; i < 4; i++)
{
number = rnd.Next(10);//随机生成的数字
Yanzhengma += number.ToString();
}
Response.Cookies.Add(new HttpCookie("Yanzhengma",Yanzhengma));//添加一个cookies 共享的全局变量
return Yanzhengma;
}
protected void CreateYanzhengmaImage(string Yanzhengma)
{
Bitmap bmp = new Bitmap(100, 50);//自定义图形
Graphics g = Graphics.FromImage(bmp);//利用图形来创建绘图面板
Random rnd = new Random();//随机生成
g.Clear(Color.White);//设置背景的颜色为空
//绘制背景 噪音线
for (int i = 0; i < 3; i++)
{
int x1 = rnd.Next(100);
int y1 = rnd.Next(50);
int x2 = rnd.Next(100);
int y2 = rnd.Next(50);
g.DrawLine(new Pen(Color.RosyBrown), x1, y1, x2, y2);//图形的绘制
}
//在图形中绘制字符串
g.DrawString(GenerateYanzhengma(),new Font("Arial",24,FontStyle.Regular),new LinearGradientBrush(new Rectangle(0,0,100,50),Color.Pink,Color.Peru,1.2f,true),2,2);
//设置高亮的像素点
for (int i = 0; i < 100; i++)
{
int x1 = rnd.Next(100);
int y1 = rnd.Next(50);
bmp.SetPixel(x1,y1,Color.FromArgb(rnd.Next(255),rnd.Next(255),rnd.Next(255)));
}
//内存流
MemoryStream ms = new MemoryStream();
//图片的保存
bmp.Save(ms,ImageFormat.Gif);
//清除网页的内容
Response.ClearContent();
Response.ContentType="image/Gif";
Response.BinaryWrite(ms.ToArray());//以二进制的方式写文件
}
}
相关文章推荐
- 如何在asp.net中动态生成验证码
- ASP.Net随机生成验证码
- ASP.NET 实现登录界面(生成验证码)
- 转载:asp.net验证码的生成和使用
- (一)【转】asp.net mvc生成验证码
- asp.net验证码生成和刷新及验证
- asp.net 验证码生成和刷新及验证
- ASP.NET实现的生成验证码功能示例【附demo源码】
- asp.net生成验证码
- asp.net生成验证码
- ASP.NET用一般处理程序生成验证码
- asp.net一般处理程序(.ashx)动态生成验证码案例。
- 生成中文的验证码(ASP.NET C#)
- ASP.NET ashx实现无刷新页面生成验证码
- ASP.NET中动态生成验证码的一则方法
- [ASP.NET]验证码生成
- asp.net(c#)生成验证码
- ASP.NET中动态生成验证码的一则方法
- ASP.NET 生成随机验证码