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());//以二进制的方式写文件
}
}