asp.net如何生成图片验证码(简单)
来源:互联网 发布:锐捷查看网络接口 编辑:程序博客网 时间:2024/05/17 12:52
新建一个页面image.aspx,添加命名空间:
using System.Drawing.Imaging;
using System.IO;
然后在Page_load事件拷入如下代码:
//生成4位的验证码
string tmp = RndNum(4);
HttpCookie a = new HttpCookie("ImageV",tmp);
Response.Cookies.Add(a);
this.ValidateCode(tmp);
接下来向该页面添加两个方法:
private void ValidateCode(string VNum)
{
Bitmap Img=null;
Graphics g=null;
MemoryStream ms=null;
int gheight=VNum.Length*12;
Img=new Bitmap(gheight,25);
g=Graphics.FromImage(Img);
//背景颜色
g.Clear(Color.White);
//文字字体
Font f=new Font("Arial Black",10);
//文字颜色
SolidBrush s=new SolidBrush(Color.Black);
g.DrawString(VNum,f,s,3,3);
ms=new MemoryStream();
Img.Save(ms,ImageFormat.Jpeg);
Response.ClearContent();
Response.ContentType="image/Jpeg";
Response.BinaryWrite(ms.ToArray());
g.Dispose();
Img.Dispose();
Response.End();
}
private string RndNum(int VcodeNum)
{
string Vchar="0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p"+
",q,r,s,t,u,v,w,x,y,z";
string[] VcArray=Vchar.Split(new Char [] {','});
string VNum="";
int temp=-1;
Random rand=new Random();
for(int i=1;i<VcodeNum+1;i++)
{
if(temp!=-1)
{
rand=new Random(i*temp*unchecked((int)DateTime.Now.Ticks));
}
int t=rand.Next(35);
if(temp!=-1&&temp==t)
{
return RndNum(VcodeNum);
}
temp=t;
VNum+=VcArray[t];
}
return VNum;
}
如果要在页面a.aspx生成验证码,则在该页面添加一个图片控件,假设命名为:ImageButton1,然后在page_Load事件中写如下代码:
ImageButton1.ImageUrl = "image.aspx";
这样就可以生成验证码了,image.aspx页面可以随便放在哪里,不过要注意ImageButton1.ImageUrl 要写对,同级可以直接写image.aspx,上一级写../image.aspx,很方便吧。
- asp.net如何生成图片验证码(简单)
- asp.net如何生成图片验证码(简单)
- asp.net如何生成图片验证码(简单)
- asp.net如何生成图片验证码(简单)
- asp.net如何生成图片验证码(简单)
- asp.net如何生成图片验证码(简单)
- asp.net如何生成图片验证码(简单)
- asp.net如何生成图片验证码(简单
- asp.net如何生成图片验证码(简单)
- asp.net如何生成图片验证码(简单)
- asp.net如何生成图片验证码(简单)
- asp.net如何生成图片验证码(简单)
- asp.net如何生成图片验证码(简单)
- ASP.NET如何生成图片验证码(简单)
- asp.net如何生成图片验证码(简单)
- asp.net如何生成图片验证码(简单)
- ASP.NET如何生成图片验证码(简单)
- asp.net如何生成图片验证码
- I need some sleep
- 谁来帮帮我啊,BCB中的错误,报Undefined symbol 'exception' 有谁知道是怎么回事啊
- 经济学的网站总结(一)
- Thinking in Java第三版读书笔记-第三章:流程控制
- 开源列表
- asp.net如何生成图片验证码(简单)
- ASP.NET中上传下载文件
- [原创].NET中Form.AutoScrollPosition的运用
- 使用托管 Microsoft DirectX 库和 C# 来即时合成音频流
- Advanced Systems Format 概述
- 沉默的蛹
- 一个论坛发帖的问题,比较菜,希望能得到大虾们的解答!谢谢!!
- 05/08/06
- test