网站验证图片制作。net

using  System;
using  System.Data;
using  System.Configuration;
using  System.Collections;
using  System.Web;
using  System.Web.Security;
using  System.Web.UI;
using  System.Web.UI.WebControls;
using  System.Web.UI.WebControls.WebParts;
using  System.Web.UI.HtmlControls;
using  System.Drawing.Imaging;
using  System.Drawing;
using  System.IO;

public   partial   class  image : System.Web.UI.Page
{
    
protected void Page_Load(object sender, EventArgs e)
    
{
       
string tmp = RndNum(4);
      
// HttpCookie a = new HttpCookie("ImageV",tmp);
      
// Response.Cookies.Add(a);
      
//2006-3-31 郭挺 上面二行是用COOKIE来存下面用SESSION保存
       Session["ImageV"= tmp;
       
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",12);
   
//文字颜色
   SolidBrush s = new SolidBrush(Color.Gray);
   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 = "1,2,3,4,5,6,7,8,9,0";//A,B,C,D,E,F,G,H,I,J,K,L,M,N,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));
    }

   
//9
    int t=rand.Next(9);
    
if(temp!=-1&&temp==t)
    
{
     
return RndNum(VcodeNum);
    }

    temp
=t;
    VNum
+=VcArray[t];
   }

   
return VNum;
  }

}

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值