所属类别:.NET
文章作者:未知
特别推荐:免费发布信息 承包关键词~~抢爆了!HOT!
/**********************Created by Chen***************************如果你觉得本人的文章好,要引用请尊重著作人的劳动果实,说明*出处以及原创作者,Thank you!!! email:aishen944-sohu.com*******************************************************************/using System;using System.Drawing;using System.Drawing.Imaging;using System.Web.UI;using System.Drawing.Drawing2D;using System.IO;namespace Validate{/// /// 生成验证码的类/// public class ValidateNumber{public ValidateNumber(){}/// /// 验证码的最大长度/// public int MaxLength{get{return 10;}}/// /// 验证码的最小长度/// public int MinLength{get{return 1;}}/// /// 生成验证码/// /// 指定验证码的长度/// public string CreateValidateNumber(int length){int[] randMembers=new int[length];int[] validateNums=new int[length];string validateNumberStr="";//生成起始序列值int seekSeek=unchecked((int)DateTime.Now.Ticks);Random seekRand=new Random(seekSeek);int beginSeek=(int)seekRand.Next(0,Int32.MaxValue-length*10000);int[] seeks=new int[length];for(int i=0;i/// 创建验证码的图片/// /// 要输出到的page对象/// 验证码public void CreateValidateGraphic(Page containsPage,string validateNum){Bitmap image=new Bitmap((int)Math.Ceiling(validateNum.Length*12.5),22);Graphics g=Graphics.FromImage(image);try{//生成随机生成器Random random=new Random();//清空图片背景色g.Clear(Color.White);//画图片的干扰线for(int i=0;i<25;i++){int x1=random.Next(image.Width);int x2=random.Next(image.Width);int y1=random.Next(image.Height);int y2=random.Next(image.Height);g.DrawLine(new Pen(Color.Silver),x1,y1,x2,y2);}Font font=new Font("Arial",12,(FontStyle.BoldFontStyle.Italic));LinearGradientBrush brush=new LinearGradientBrush(new Rectangle(0,0,image.Width,image.Height),Color.Blue,Color.DarkRed,1.2f,true);g.DrawString(validateNum,font,brush,3,2);//画图片的前景干扰点for(int i=0;i<100;i++){int x=random.Next(image.Width);int y=random.Next(image.Height);image.SetPixel(x,y,Color.FromArgb(random.Next()));}//画图片的边框线g.DrawRectangle(new Pen(Color.Silver),0,0,image.Width-1,image.Height-1);//保存图片数据MemoryStream stream=new MemoryStream();image.Save(stream,ImageFormat.Jpeg);//输出图片containsPage.Response.Clear();containsPage.Response.ContentType="image/jpeg";containsPage.Response.BinaryWrite(stream.ToArray());}finally{g.Dispose();image.Dispose();}}/// /// 得到验证码图片的长度/// /// 验证码的长度/// public static int GetImageWidth(int validateNumLength){return (int)(validateNumLength*12.5);}/// /// 得到验证码的高度/// /// public static double GetImageHeight(){return 22.5;}}}关闭本页
相关信息· outlook express错误代码
· 专家告诉你设计好用网站的窍门
· 关闭XP十大隐患 提高系统的安全性
· 经典声卡回顾──Aureal篇
74949
66881
