显示验证码图片(支持中文)

2007/7/21 13:38:44


阅读全文(4141) | 回复(1) | 编辑 | 精华

作者:chaircat 在Page_Load()里象这样调用CreateImage("验证码")就行了... 客户端HTML代码直接写<img src="xxx.aspx" /> 当然, 这个CreateImage只是输出图片, 用的时候记得把验证码字符串保存在Session里面... 代码: public void CreateImage(string checkCode){ int iwidth = (int)(checkCode.Length * 25); System.Drawing.Bitmap image = new System.Drawing.Bitmap(iwidth, 25); Graphics g = Graphics.FromImage(image); g.Clear(Color.White); //定义颜色 Color[] c = {Color.Black,Color.Red,Color.DarkBlue,Color.Green,Color.Orange,Color.Brown,Color.DarkCyan,Color.Purple}; //定义字体 string[] font = {"Verdana","Microsoft Sans Serif","Comic Sans MS","Arial","宋体","方正舒体","方正姚体","仿宋_GB2312","黑体","华文仿宋","华文细黑","华文新魏","华文行楷","华文中宋","楷体_GB2312","隶书","宋体-方正超大字符集","新宋体","幼圆"}; Random rand = new Random(); //随机输出噪点 for(int i=0;i&lt;200;i++) {  int x = rand.Next(image.Width);  int y = rand.Next(image.Height);  g.DrawRectangle(new Pen(Color.FromArgb(rand.Next(150),rand.Next(150),rand.Next(150),rand.Next(20)), 0),x,y,1,1); }  //输出不同字体和颜色的验证码字符 for(int i=0;i<CHECKCODE.LENGTH;I++) pre < } image.Dispose(); g.Dispose(); Response.BinaryWrite(ms.ToArray()); ; Response.ContentType="image/Jpeg" Response.ClearContent(); image.Save(ms,System.Drawing.Imaging.ImageFormat.Jpeg); System.IO.MemoryStream(); ms="new" System.IO.MemoryStream 输出到浏览器 Pen(Color.Black,0),0,0,image.Width-1,image.Height-1); g.DrawRectangle(new 画一个边框 ii); 3+(i*20), b, f, g.DrawString(checkCode.Substring(i,1), ii="4;" if((i+1)%2="=0)" int System.Drawing.SolidBrush(c[cindex]); b="new" Brush System.Drawing.FontStyle.Bold); rand.Next(11,14), System.Drawing.Font(font[findex], f="new" Font findex="rand.Next(font.Length);" cindex="rand.Next(c.Length);" {><P></P>  <P class=info> Tag:      <A href="http://chaircat.icode.csdn.net/tag/yanzhengma">验证码</A>  .   评论: <A href="(0)http://chaircat.icode.csdn.net/post/2007/05/29/53860">(0)</A>.   <!--引用:<a href="(0)http://chaircat.icode.csdn.net/post/trackbacks/53860">(0)</a>.-->  <A title=代码归档固定链接 href="http://chaircat.icode.csdn.net/post/2007/05/29/53860">固定链接</A> <BR>     </P><DIV class=BodyBannerAd><SCRIPT language=JavaScript src="http://www.csdn.net/ggmm/csdn_ggmm.js" type=text/javascript></SCRIPT><SCRIPT language=JavaScript type=text/javascript>show_ads_zone(28);</SCRIPT><SCRIPT language=JavaScript src="http://z.csdn.net/adjs.php?n=715168877&amp;what=zone:28&amp;charset=utf-8&amp;exclude=,&amp;referer=http%3A//download.csdn.net/source/212769" type=text/javascript></SCRIPT><A href="http://z.csdn.net/gmclick.php?bannerid=953&amp;zoneid=28&amp;source=&amp;dest=http%3A%2F%2Fintel.csdn.net%2Fcontest%2Fgamedemo%2F" target=_blank><IMG title="" height=60 alt="" src="http://zi.csdn.net/2007.06/468-60intel.gif" width=468 border=0></A><DIV id=beacon_953 style="LEFT: 0px; VISIBILITY: hidden; POSITION: absolute; TOP: 0px"><IMG style="WIDTH: 0px; HEIGHT: 0px" height=0 alt="" src="http://z.csdn.net/gmlog.php?bannerid=953&amp;clientid=374&amp;zf=&amp;zoneid=28&amp;source=&amp;block=0&amp;capping=0&amp;cb=33695d489dc88637de0df23b41eea442" width=0></DIV></DIV>   <OL id=commentlist>    </OL> <A name=comments></A> <DIV id=bb><DIV id=CommentForm><FORM id=NewComment action=http://chaircat.icode.csdn.net/index.php method=post><FIELDSET><LEGEND>发表评论</LEGEND><DIV><LABEL for=userName>昵称</LABEL><INPUT id=userName readOnly value=Qiaorui name=userName></DIV><DIV><LABEL for=commentText>内容</LABEL><TEXTAREA id=commentText name=commentText rows=10 cols=30></TEXTAREA></DIV><DIV id=Submit><INPUT id=Add type=submit value=发表 name=Add><INPUT type=hidden value=AddComment name=op><INPUT type=hidden value=53860 name=articleId><INPUT type=hidden value=148 name=blogId></DIV></FIELDSET></FORM></DIV></DIV><SCRIPT src="/include/comment.js.php?article_id=53860&amp;blog_id=148" type=text/javascript> </SCRIPT> 

Qr

Posted by Qr on 2007/7/21 13:38:44

回复:显示验证码图片(支持中文)

2007/7/21 22:29:39


个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除

可读性差的啊。 以下为blog主人的回复:  注意到了,想排一下版,发觉其中多了一些HTML之类的代码,原文就这样了,没有时间调试,觉得有用的朋友就花点时间调试一下好了。 原文地址:http://chaircat.icode.csdn.net/post/2007/05/29/53860  

真不准

Posted by 真不准 on 2007/7/21 22:29:39

» 1 »

发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)
站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.039 second(s), page refreshed 144830432 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号