using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Drawing;
using System.Drawing.Imaging;
namespace test
{
public partial class verCode : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
GenerateCode();
}
}
private void GenerateCode()
{
Random r = new Random();
string code = "";
for (int i = 0; i < 5; i++)
{
code += r.Next(0, 10);
}
//字体
string[] fonts = { "微软雅黑","宋体","黑体","仿宋","隶书"};
//字体颜色
Color[] colors = { Color.Red,Color.Black,Color.Blue,Color.Orange,Color.Yellow };
//创建位图
Bitmap bmp = new Bitmap(100, 30);
//创建GDI
Graphics g = Graphics.FromImage(bmp);
//清空画布
g.Clear(Color.White);
//创建画笔
Pen pen = new Pen(Color.Green);
//设置线的宽度
pen.Width = 2;
//划线添加干扰
for (int i = 0; i < 50; i++)
{
Point p1 = new Point(r.Next(0, bmp.Width), r.Next(0, bmp.Height));
Point p2 = new Point(r.Next(0, bmp.Width), r.Next(0, bmp.Height));
//划线
g.DrawLine(pen, p1, p2);
}
for (int i = 0; i < 5; i++)
{
Font font = new Font(fonts[r.Next(0,5)],20,FontStyle.Bold);
SolidBrush brush = new SolidBrush(colors[r.Next(0,5)]);
Point p = new Point(i*20,0);
//画文本内容
g.DrawString(code[i].ToString(),font,brush,p);
}
//添加斑点
for (int i = 0; i < 500; i++)
{
//对位图添加斑点
bmp.SetPixel(r.Next(0,bmp.Width),r.Next(0,bmp.Height),Color.Lime);
}
//保存位图
bmp.Save(Response.OutputStream, ImageFormat.Gif);
//设置相应类型
Response.ContentType = "image/gif";
bmp.Dispose();
g.Dispose();
}
}
}