C#绘制验证码图片
来源:互联网 发布:ucosii 软件定时器 编辑:程序博客网 时间:2024/04/28 06:31
//验证码生成,注意宽高与字体比例,字体大小是高度/2.4
private void SetValidateCode(string value,int width,int height)
...{
//新建位图
Bitmap newBitmap = new Bitmap(
width,
height,
PixelFormat.Format32bppArgb
);
//从位图获得绘图画面
Graphics g = Graphics.FromImage(newBitmap);
//随机数生成器
Random r = new Random();
//绘图画面清空
g.Clear(Color.White);
//绘图画面划线干扰
for (int i = 0; i < 50; i++)
...{
int x1 = r.Next(newBitmap.Width);
int x2 = r.Next(newBitmap.Width);
int y1 = r.Next(newBitmap.Height);
int y2 = r.Next(newBitmap.Height);
g.DrawLine(new Pen(
Color.FromArgb(r.Next())),
x1,
y1,
x2,
y2
);
}
//绘图画面点数干扰
for (int i = 0; i < 100; i++)
...{
int x = r.Next(newBitmap.Width);
int y = r.Next(newBitmap.Height);
newBitmap.SetPixel(
x,
y,
Color.FromArgb(r.Next())
);
}
//定义图片显示字体样式
Font font = new Font(
"Arial",
Convert.ToInt16(height/2.4),
FontStyle.Bold
);
Random rr = new Random();
int yy = rr.Next(1, 4);
//定义随机字符串显示图片刷子
LinearGradientBrush brush = new LinearGradientBrush(
new Rectangle(0, 0, width,height),
Color.Red,
Color.Blue,
1.2f,
true
);
g.DrawString(value, font, brush, 2, yy);
g.DrawRectangle(new Pen(Color.Silver),
0,
0,
width-1,
height-1
);
System.IO.MemoryStream ms = new System.IO.MemoryStream();
newBitmap.Save(ms, ImageFormat.Gif);
//输出图片
Response.ClearContent();
Response.ContentType = "image/gif";
Response.BinaryWrite(ms.ToArray());
}
private void SetValidateCode(string value,int width,int height)
...{
//新建位图
Bitmap newBitmap = new Bitmap(
width,
height,
PixelFormat.Format32bppArgb
);
//从位图获得绘图画面
Graphics g = Graphics.FromImage(newBitmap);
//随机数生成器
Random r = new Random();
//绘图画面清空
g.Clear(Color.White);
//绘图画面划线干扰
for (int i = 0; i < 50; i++)
...{
int x1 = r.Next(newBitmap.Width);
int x2 = r.Next(newBitmap.Width);
int y1 = r.Next(newBitmap.Height);
int y2 = r.Next(newBitmap.Height);
g.DrawLine(new Pen(
Color.FromArgb(r.Next())),
x1,
y1,
x2,
y2
);
}
//绘图画面点数干扰
for (int i = 0; i < 100; i++)
...{
int x = r.Next(newBitmap.Width);
int y = r.Next(newBitmap.Height);
newBitmap.SetPixel(
x,
y,
Color.FromArgb(r.Next())
);
}
//定义图片显示字体样式
Font font = new Font(
"Arial",
Convert.ToInt16(height/2.4),
FontStyle.Bold
);
Random rr = new Random();
int yy = rr.Next(1, 4);
//定义随机字符串显示图片刷子
LinearGradientBrush brush = new LinearGradientBrush(
new Rectangle(0, 0, width,height),
Color.Red,
Color.Blue,
1.2f,
true
);
g.DrawString(value, font, brush, 2, yy);
g.DrawRectangle(new Pen(Color.Silver),
0,
0,
width-1,
height-1
);
System.IO.MemoryStream ms = new System.IO.MemoryStream();
newBitmap.Save(ms, ImageFormat.Gif);
//输出图片
Response.ClearContent();
Response.ContentType = "image/gif";
Response.BinaryWrite(ms.ToArray());
}
- C#绘制验证码图片
- c#无刷新绘制验证码图片
- C# WinForm验证码与图片绘制
- 绘制验证码图片
- 绘制验证码图片
- 验证码图片绘制
- c#绘制验证码
- C#验证码图片的绘制方法介绍
- 绘制生成图片验证码
- C#图片验证码制作,上传图片加水印,使用Drawing绘制
- C#图片验证码
- C#图片验证码
- java-web绘制验证码图片例程
- C#绘制汉字验证码 源码
- GDI+绘制验证码(C#实现)
- C# 产生验证码 利用背景图片绘制
- C#利用GDI绘制验证码
- C#中使用GDI绘制验证码
- asp.net ajax学习系列功能强大的UpdatePanel控件(转)
- CMMI中的度量
- 学习英文:加菲猫的经典语录
- ajax原理和XmlHttpRequest对象
- javascript+css简单实现树形结构列表
- C#绘制验证码图片
- Rails Cookbook翻译(三)
- 踏入C++中的雷区——C++内存管理详解(III)
- JSP TOMCAT MYSQL
- 踏入C++中的雷区——C++内存管理详解(IV)
- 用户输入验证概述
- 谁动了我的画布?
- Redhat Linux 9 安装讲解
- 浅析c/c++中的指针