- usingSystem;
- usingSystem.Data;
- usingSystem.Configuration;
- usingSystem.Web;
- usingSystem.Web.Security;
- usingSystem.Web.UI;
- usingSystem.Web.UI.WebControls;
- usingSystem.Web.UI.WebControls.WebParts;
- usingSystem.Web.UI.HtmlControls;
- usingSystem.Drawing;
- ///<summary>
- ///VerifyCode的摘要说明产生随机数
- ///</summary>
- publicclassVerifyCode
- {
- publicVerifyCode()
- {
- }
- //产生随机字符串
- ///<summary>
- ///产生随机数
- ///</summary>
- ///<paramname="num">需要的字符的个数</param>
- ///<returns>返回产生的随机数</returns>
- publicstringGenCode(intnum)
- {
- //定义一个数组
- string[]source={"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"};
- //定义一个装数组的字符串
- stringcode="";
- Randomrd=newRandom();
- for(inti=0;i<num;i++)
- {
- code+=source[rd.Next(0,source.Length)];
- }
- returncode;//返回产生的随机数
- }
- //生成图片
- publicvoidGenImg(stringcode,PagecurPage)
- {
- BitmapmyPalette=newBitmap(60,20);//定义一个画板
- Graphicsgh=Graphics.FromImage(myPalette);//在画板上定义绘图的实例
- Rectanglerc=newRectangle(0,0,60,20);//定义一个矩形
- gh.FillRectangle(newSolidBrush(Color.Blue),rc);//填充矩形
- gh.DrawString(code,newFont("宋体",16),newSolidBrush(Color.White),rc);//在矩形内画出字符串
- myPalette.Save(curPage.Response.OutputStream,System.Drawing.Imaging.ImageFormat.Jpeg);//将图片显示出来
- curPage.Session["ValidateCode"]=code;//将字符串保存到Session中,以便需要时进行验证
- gh.Dispose();//关闭
- myPalette.Dispose();
- }
- }