成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

VB.NET生成驗(yàn)證碼相關(guān)代碼編寫方式

開(kāi)發(fā) 后端
VB.NET生成驗(yàn)證碼對(duì)于一個(gè)初學(xué)者來(lái)說(shuō),還是比較簡(jiǎn)單的。只需要根據(jù)本文給出的具體實(shí)現(xiàn)步驟一一進(jìn)行操作就能實(shí)現(xiàn)。

當(dāng)使用VB.NET進(jìn)行實(shí)際編程的時(shí)候,會(huì)發(fā)現(xiàn),其作用是相當(dāng)強(qiáng)大的。而且應(yīng)用范圍也是比較廣泛。今天我們就可以通過(guò)一個(gè)基于VB.NET生成驗(yàn)證碼的示例來(lái)對(duì)這款編程語(yǔ)言的實(shí)際應(yīng)用方式進(jìn)行解讀。#t#

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) 

新增,修改、畫(huà)圖片的背景噪音線

  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)證碼中畫(huà)圖片的前景噪音點(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 

畫(huà)圖片的邊框線

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

 

在矩形內(nèi)繪制字串(字串,字體,畫(huà)筆顏色,左上x(chóng).左上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開(kāi)始讀取,所以這里為35*rnd  
  10. vnumvnum = vnum & vcarray(Int(29 * 
    Rnd())) '數(shù)組一般從0開(kāi)始讀取,所以這里為35*rnd  
  11. Next  
  12. Return vnum  
  13. End Function 

VB.NET生成驗(yàn)證碼的具體操作方法就為大家介紹到這里。

責(zé)任編輯:曹凱 來(lái)源: 博客園
相關(guān)推薦

2010-01-08 13:46:30

VB.NET中文驗(yàn)證碼

2010-01-13 18:09:09

VB.NET動(dòng)態(tài)生成代

2010-01-11 11:02:27

VB.NET調(diào)用存儲(chǔ)過(guò)

2010-01-21 15:10:37

VB.NET靜態(tài)托盤程

2010-01-11 10:44:47

VB.NET多窗體

2010-01-11 11:37:08

VB.NET操作CSV

2010-01-18 14:35:11

VB.NET讀取內(nèi)存

2010-01-12 18:12:58

VB.NET事件

2010-01-15 16:21:45

VB.NET讀寫文本文

2010-01-22 17:12:08

VB.NET訪問(wèn)Ifr

2010-01-14 13:51:03

2009-06-12 19:12:24

動(dòng)態(tài)代碼VB.NET

2010-01-15 11:31:02

VB.NET接口實(shí)現(xiàn)多

2010-01-12 17:54:42

VB.NET Dlli

2010-01-21 10:12:57

VB.NET控件自動(dòng)排

2009-10-28 16:14:21

VB.NET編寫托盤程

2009-10-14 10:08:05

VB.NET編寫DEC

2009-10-12 10:04:53

VB.NET List

2010-01-18 11:03:17

VB.NET網(wǎng)頁(yè)計(jì)數(shù)器

2010-01-19 15:08:18

VB.NET對(duì)象成員
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 国产在线97 | 中文字幕亚洲视频 | 99久久成人| 亚洲高清在线 | 观看av| 国内精品一区二区三区 | 成人一区二区三区在线观看 | 麻豆91精品91久久久 | 日韩在线免费视频 | 在线2区 | 91视频88av| 国产视频中文字幕在线观看 | 婷婷毛片| 国产ts人妖系列高潮 | 精品欧美在线观看 | h视频在线免费 | 亚洲欧美一区二区三区在线 | 羞羞视频免费在线 | 国产成人99久久亚洲综合精品 | 中文字幕乱码一区二区三区 | 91精品国产综合久久久久久 | 精品一区二区久久久久久久网精 | 国产成人99久久亚洲综合精品 | 亚洲一区二区国产 | 久久久蜜桃 | 盗摄精品av一区二区三区 | 天天操天天插天天干 | 天天干夜夜操视频 | 日韩精品一区二区三区 | 精品综合 | 欧美综合一区二区 | 天天看天天干 | 久久国产精品99久久久久 | 国产一级一级 | 一区二区三区观看视频 | 2021狠狠干| 亚洲国产成人精品久久 | 操操日 | 成人免费精品视频 | 亚洲欧美综合精品久久成人 | 欧美精品一区二区三区四区五区 |