Web前端开发之水印、图片验证码
一、水印
1.画布
System.Drawing.Imageimg=System.Drawing.Image.FromStream(FileUpload1.FileContent);
2.创建绘制对象,告诉它往哪张图片上绘制
Graphicsg=Graphics.FromImage(img);
3.绘制的内容
strings=www.itnba.com;
4.绘制的字体
Fontf=newFont("黑体",130);
5.绘制的画刷
Brushb=newSolidBrush(Color.Red);
6.开始绘制
g.DrawString(s,f,b,5,5);
二、图片验证码
Bitmapbit=newBitmap(90,40);//画布大小
Graphicsg=Graphics.FromImage(bit);//创建绘制对象,告诉它往哪张图片上绘制
Randomr=newRandom();
strings="";
Colorcolor1=Color.FromArgb(r.Next(155,255),r.Next(155,255),r.Next(155,255));
g.FillRectangle(newSolidBrush(color1),0,0,90,40);//画布颜色随机
for(inti=0;i<10;i++)//随机画干扰线
{
Colorcolor3=Color.FromArgb(r.Next(170,255),r.Next(190,255),r.Next(170,255));
Penpp=newPen(newSolidBrush(color3),r.Next(0,5));
g.DrawLine(pp,r.Next(0,90),r.Next(0,40),r.Next(0,90),r.Next(0,40));
}
stringyan="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";//设置随机的验证码,从里面抽取
intwei=0;
for(inti=0;i<4;i++)//取四位验证码,颜色随机
{
stringm=yan.Substring(r.Next(0,yan.Length),1);
s+=m;
Colorcolor2=Color.FromArgb(r.Next(0,155),r.Next(0,155),r.Next(0,155));
intw=r.Next(20,25);
Fontf=newFont("黑体",w);
SolidBrushb=newSolidBrush(color2);
g.DrawString(m,f,b,wei,r.Next(0,10));
wei+=w;
}
Session["YZM"]=s;//把验证码保存到session中
for(inti=0;i<251;i++)
{
Colorcolor3=Color.FromArgb(r.Next(0,255),r.Next(0,255),r.Next(0,255));
Penpp=newPen(newSolidBrush(color3),r.Next(0,5));
inta=r.Next(0,90);
intb=r.Next(0,40);
g.DrawLine(pp,a,b,(a+1),(b+1));
}
bit.Save(Response.OutputStream,System.Drawing.Imaging.ImageFormat.Jpeg);
Response.End();
验证码:
<asp:TextBoxID="TextBox3"runat="server"></asp:TextBox> <asp:ImageID="Image1"runat="server"ImageUrl="Default2.aspx"/>//这里图片路径不是一张图片的话会默认打开
以上所述是小编给大家分享的Web前端开发之水印、图片验证码,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的,在此也非常感谢大家对毛票票网站的支持!