這些年我收集的GDI+代碼2


這些年我收集的GDI+代碼2

  這些年在工作中有空的時候經常拿VS出來畫個圖玩玩,還是蠻有意思的事情。下面我們就來看看用GDI+是如何實現驗證碼功能的吧。

  首先,我們先來看看如何在winform上面寫文字,以此來做個鋪墊。

 

圖一、文字效果圖

 

圖二、驗證碼

  當我們看到了一個驗證碼的時候,我們有什么思路呢?是不是看到了數字長的很奇怪呢?是不是單擊的時候字會改變呢?是不是字體的顏色也不一樣呢?是不是一眼看不清呢?這樣做的目的都是為了防止某些邪惡的人用機器來注冊。

  思路1:里面的數是隨機生成的

  下面進入正式的部分。

  1. 驗證碼得到隨機數

我們在網上點擊的時候,是不是點擊的是一張圖片呢?所以應該在窗體上拖一個圖片控件,而且用的是圖片的點擊事件。

 

圖三、驗證碼得到隨機數

我在代碼上的注釋非常清晰,大家可以參見我上面的注釋。

到這步,我們面臨兩個問題,一個是字體,一個是顏色。那么,我們需要兩個數組,一個放字體,一個放顏色。

 

圖四、給驗證碼改變顏色和字體

 

圖五、完善驗證碼的顏色和字體

每畫一次上一個顏色,所以上面的代碼中用for循環。當我們實現到這一步的時候就差最后數字上面的噪點了,大家想一想,是不是就差一些線呢?這些線的長度最常到哪兒?比如:畫十條線的話,就是一個for循環。

 

圖六、畫噪點

  最終,經過我們的努力來看看最后的效果圖吧。

 

圖七、最后的效果圖

  當我們逐漸的接觸到aspdot.net的時候,我們會發現這樣的驗證碼是不用我們手工繪制的,然而,在畫驗證碼時我們用的基礎的編程思路是需要掌握的。很多精美的GDI+圖都是這么做出來的。


作者近期文章:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM