今天小編詳細(xì)的說一下,ASP.NET網(wǎng)站開發(fā)過程中生成驗(yàn)證碼的全部問題。
本文的目標(biāo),是讓讀者了解,生成驗(yàn)證碼涉及的全部基礎(chǔ)知識問題。
當(dāng)然這里說的是比較簡單的驗(yàn)證碼。
真正符合要求的驗(yàn)證碼,涉及到計(jì)算機(jī)圖形學(xué)的一些問題,這就不是網(wǎng)站開發(fā)人員該考慮的了,公司肯定有專人干這個(gè),或者有開發(fā)包。
1.為啥要研究這東西?
在正文開始之前,我又幾個(gè)問題要強(qiáng)調(diào)。
1.對于驗(yàn)證碼的生成問題,即使完全不了解,也不會影響開發(fā)。
我們完全可以到網(wǎng)上C+V一點(diǎn)代碼搞定(也就是說,這不是asp.net網(wǎng)站開發(fā)的核心問題)。
坦率的講,對于今天寫的東西,小編不翻資料也是記不住。
2.但是,小編有個(gè)習(xí)慣。就是如果一段代碼我完全不理解的話。
那么即使我知道他粘貼下來就能用,我心里也不是很踏實(shí)。
所以,可以寫不出來,但一定要略懂, 心里踏實(shí)。
2.學(xué)習(xí)流程
本文的學(xué)習(xí)流程是這樣安排的。

那么我們開始
1.說明
如果你想思考如何生成驗(yàn)證碼,那么您第一個(gè)要解決的問題,
一定是.NET動態(tài)生成圖片問題。(知道的就算了)
//GDI:.Net程序中進(jìn)行繪圖的一些類。
2.代碼
1 //這段代碼開始前,要添加System.Drawing的引用。 2 //創(chuàng)建一個(gè)尺寸為500*500的內(nèi)存圖片 3 using (Bitmap bmp = new Bitmap(500, 500)) 4 //得到圖片的畫布 5 using (Graphics g = Graphics.FromImage(bmp)) 6 { 7 //創(chuàng)建畫筆 8 using (Font font = new Font(FontFamily.GenericSerif, 30)) 9 {10 //在100,100處畫一個(gè)紅色的helloWorld11 g.DrawString("HelloWorld", font, Brushes.Red, 100, 100);12 //在100,100處畫一個(gè)藍(lán)色的橢圓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 } 看這就生成完了。代碼上,貌似沒什么需要解釋的。
新聞熱點(diǎn)
疑難解答
圖片精選