|
前台界面:
需要引入的命名空间: usingSystem.Drawing; usingSystem.Drawing.Drawing2D; usingSystem.IO; usingSystem.Drawing.Imaging;
页面一count.aspx 前台没有任何内容, 后台代码: protectedvoidPage_Load(objectsender,EventArgse) { GetValidateCodePic(); }
/// ///生成图片(背景噪音线、前景噪音线) /// /// protectedvoidGetValidateCodePic() { Randomrm=newRandom(); int_intNum1=rm.Next(1,20); int_intNum2=rm.Next(1,20); string[]_strValue={"+","-",""}; string_strOper=_strValue[rm.Next(0,_strValue.Length)]; //--获取一个运算符号 int_intResult; switch(_strOper) { case"+": _intResult=_intNum1+_intNum2;break; case"-": _intResult=_intNum1-_intNum2;break; default: _intResult=_intNum1_intNum2;break; } Session["checkCode"]=_intResult; //--将结果保存下来 string_strCode=_intNum1+""+_strOper+""+_intNum2+"=?"; //--设置要显示的字符串 System.Drawing.Bitmap_pic=newSystem.Drawing.Bitmap(Convert.ToInt32(_strCode.Length10),20); Graphics_g=Graphics.FromImage(_pic); try { //--1.生成随机生成器 Random_rd=newRandom(); //--2.清空图片背景色 _g.Clear(Color.White); //--3.画图片的背景噪音线 for(inti=0;i<30;i++) { intx1=_rd.Next(_pic.Width); intx2=_rd.Next(_pic.Width); inty1=_rd.Next(_pic.Height); inty2=_rd.Next(_pic.Height); //--4.绘制直线和虚线 _g.DrawLine(newPen(Color.Gainsboro),x1,x2,y1,y2); } //--5.定义字体类型,颜色,加粗 Font_font=newFont("Batang",13,FontStyle.Bold); LinearGradientBrush_brush=newLinearGradientBrush(newRectangle(0,0,_pic.Width,_pic.Height),Color.MidnightBlue,Color.Green,1.2F,true); _g.DrawString(_strCode,_font,_brush,2,2); //--6.花图片的前景噪音点 _g.DrawRectangle(newPen(Color.YellowGreen),0,0,_pic.Width-1,_pic.Height-1); //--7.输出 MemoryStream_ms=newMemoryStream(); //_pic.Save(_ms,ImageFormat.Gif); Context.Response.ContentType="image/jpeg"; _pic.Save(Context.Response.OutputStream,ImageFormat.Jpeg); //Response.ClearContent(); //Response.ContentType="Image/gif"; //Response.BinaryWrite(_ms.ToArray()); } catch { _g.Dispose(); _pic.Dispose(); }
} 页面二:Default.aspx(作为调用第一个页面) 前台代码:
functionreLoadCode(){ var_img=document.getElementById("Img"); //_img.src="ValidateCode.aspx?id="+Math.random; _img.setAttribute("src","count.aspx?id="+Math.random); } functioncheckIsNull(){ if(document.getElementById("txtValue").value.length==0){ document.getElementById("erSpan").innerHTML="请输入验证码"; returnfalse; } else returntrue; }
OnClientClick="reLoadCode()"/>
| | |