真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

VB.NET中怎么生成驗(yàn)證碼

本篇文章給大家分享的是有關(guān)VB.NET中怎么生成驗(yàn)證碼,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

網(wǎng)站的建設(shè)創(chuàng)新互聯(lián)專注網(wǎng)站定制,經(jīng)驗(yàn)豐富,不做模板,主營(yíng)網(wǎng)站定制開發(fā).小程序定制開發(fā),H5頁(yè)面制作!給你煥然一新的設(shè)計(jì)體驗(yàn)!已為成都工商代辦等企業(yè)提供專業(yè)服務(wù)。

VB.NET生成驗(yàn)證碼前臺(tái)代碼為:

  1. < asp:image id="Image2" 
    runat="server" ImageUrl=
    "ValidateCode.aspx"> 

ValidateCode.aspx文件的代碼為:

  1. Private Sub Page_Load
    (ByVal sender As System.Object, 
    ByVal e As System.EventArgs)
     Handles MyBase.Load  

  2. list()  

  3. End Sub  

  4. Function list() 

在此處放置初始化頁(yè)的用戶代碼,rndnum是一個(gè)自定義函數(shù)

  1. Dim vnum As String 
    = rndnum(4)  

  2. Session("vnum") = vnum  

  3. validatecode(vnum)  

  4. End Function 

VB.NET生成驗(yàn)證碼生成圖象驗(yàn)證碼函數(shù)

  1. Sub validatecode(ByVal vnum)  

  2. Dim img As System.
    drawing.Bitmap  

  3. Dim g As Graphics  

  4. Dim r As Random = New Random  

  5. Dim gheight As IntInteger = 
    Int(Len(vnum) * 13) 

gheight為圖片寬度,根據(jù)字符長(zhǎng)度自動(dòng)更改圖片寬度

  1. img = New Bitmap(gheight, 20)  

  2. g = Graphics.FromImage(img)  

  3. 'g.DrawString(vnum, New System.
    Drawing.Font
    ("Arial", 10), New System.Drawing.
    SolidBrush(Color.Blue), 3, 3) 

新增,修改、畫圖片的背景噪音線

  1. 'For i As Integer = 0 To 25  

  2. For i As Integer = 0 To 10  

  3. Dim x1 As Integer  

  4. x1 = r.Next(img.Width)  

  5. Dim x2 As Integer = 
    r.Next(img.Width)  

  6. Dim y1 As Integer = 
    r.Next(img.Height)  

  7. Dim y2 As Integer = 
    r.Next(img.Height)  

  8. g.DrawLine(New Pen(Color.Silver), 
    x1, y1, x2, y2)  

  9. Next i  

  10. Dim font As font  

  11. font = New System.Drawing.Font
    ("Arial", 12)  

  12. Dim brush As System.Drawing.
    Drawing2D.LinearGradientBrush  

  13. brush = New System.Drawing.
    Drawing2D.LinearGradientBrush
    (New Rectangle(0, 0, img.Width, 
    img.Height), Color.Blue, Color.
    Blue, 1.2F, True)  

  14. g.DrawString(vnum, font, brush, 2, 2) 

VB.NET生成驗(yàn)證碼中畫圖片的前景噪音點(diǎn)

  1. 'For ii As Integer = 
    0 To 100  

  2. ' Dim x As Integer = 
    r.Next(img.Width)  

  3. ' Dim y As Integer = 
    r.Next(img.Height)  

  4. ' img.SetPixel(x, y, 
    Color.FromArgb(r.Next()))  

  5. 'Next 

畫圖片的邊框線

  1. g.DrawRectangle
    (New Pen(Color.Silver), 
    0, 0, img.Width - 1, 
    img.Height - 1) 

在矩形內(nèi)繪制字串(字串,字體,畫筆顏色,左上x.左上y)

  1. Dim ms1 As System.IO.MemoryStream  

  2. ms1 = New System.IO.MemoryStream  

  3. img.Save(ms1, System.Drawing.
    Imaging.ImageFormat.Png)  

  4. Response.ClearContent() 
    '需要輸出圖象信息 要修改HTTP頭   

  5. Response.ContentType = "image/Png" 

  6. Response.BinaryWrite(ms1.ToArray())  

  7. g.Dispose()  

  8. img.Dispose()  

  9. Response.End()  

  10. End Sub 


函數(shù)名稱:rndnum

函數(shù)參數(shù):vcodenum--設(shè)定返回隨機(jī)字符串的位數(shù)

函數(shù)功能:產(chǎn)生數(shù)字和字符混合的隨機(jī)字符串

  1. Function rndnum(ByVal vcodenum)  

  2. 'Dim vchar As String = "0,1,2,3,4,5,
    6,7,8,9,A,B,C,D,E,F,G,H,I,J,K,L,M,
    N,O,P,Q,R,S,T,U,W,X,Y,Z" 

  3. Dim vchar As String = "2,3,4,5,6,7,
    8,9,A,B,C,D,E,F,G,H,J,K,L,N,P,Q,
    R,S,T,U,X,Y,Z" 

  4. Dim vcarray() As String = Split
    (vchar, ",") '將字符串生成數(shù)組  

  5. Dim vnum As String = "" 

  6. Dim i As Byte  

  7. For i = 1 To vcodenum  

  8. Randomize()  

  9. 'vnumvnum = vnum & vcarray(Int(35 * 
    Rnd())) '數(shù)組一般從0開始讀取,所以這里為35*rnd  

  10. vnumvnum = vnum & vcarray(Int(29 * 
    Rnd())) '數(shù)組一般從0開始讀取,所以這里為35*rnd  

  11. Next  

  12. Return vnum  

  13. End Function 

以上就是VB.NET中怎么生成驗(yàn)證碼,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見到或用到的。希望你能通過這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


當(dāng)前名稱:VB.NET中怎么生成驗(yàn)證碼
轉(zhuǎn)載來于:http://weahome.cn/article/igidji.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部