详细说说如何生成验证码—ASP.NET细枝末节(4)

8/10/2015来源:ASP.NET技巧人气:2488

详细说说如何生成验证码asp.net细枝末节(4)

前言

今天小编详细的说一下,ASP.NET网站开发过程中生成验证码的全部问题。

本文的目标,是让读者了解,生成验证码涉及的全部基础知识问题。

当然这里说的是比较简单的验证码。

真正符合要求的验证码,涉及到计算机图形学的一些问题,这就不是网站开发人员该考虑的了,公司肯定有专人干这个,或者有开发包。

1.为啥要研究这东西?

在正文开始之前,我又几个问题要强调。

1.对于验证码的生成问题,即使完全不了解,也不会影响开发。

我们完全可以到网上C+V一点代码搞定(也就是说,这不是asp.net网站开发的核心问题)。

坦率的讲,对于今天写的东西,小编不翻资料也是记不住。

2.但是,小编有个习惯。就是如果一段代码我完全不理解的话。

那么即使我知道他粘贴下来就能用,我心里也不是很踏实。

所以,可以写不出来,但一定要略懂, 心里踏实。

2.学习流程

本文的学习流程是这样安排的。

clipboard

那么我们开始

一个简单的GDI小案例

1.说明

如果你想思考如何生成验证码,那么您第一个要解决的问题,

一定是.NET动态生成图片问题。(知道的就算了)

//GDI:.Net程序中进行绘图的一些类。

2.代码

 1             //这段代码开始前,要添加System.Drawing的引用。 2             //创建一个尺寸为500*500的内存图片 3             using (Bitmap bmp = new Bitmap(500, 500)) 4             //得到图片的画布  5             using (Graphics g = Graphics.FromImage(bmp)) 6             { 7                 //创建画笔 8                 using (Font font = new Font(FontFamily.GenericSerif, 30)) 9                  {10                       //在100,100处画一个红色的helloWorld11                       g.DrawString("HelloWorld", font, Brushes.Red, 100, 100);12                       //在100,100处画一个蓝色的椭圆13                       g.DrawEllipse(Pens.Blue, 100, 100, 100, 100);14  15                       using (Stream stream = File.OpenWrite(@"d:\2.jpg"))16                       {17                             bmp.Save(stream, ImageFormat.Jpeg);18                        }19                  }20             } 

看这就生成完了。代码上,貌似没什么需要解释的。