大家帮我找找这段代码有什么问题啊,关于验证码的!
#Region "生成随机数"Public Function GenerateCheckCode() As String
Dim Number As Integer
Dim Code As Char
Dim CheckCode As String = String.Empty
Dim Random As System.Random = New Random()
Dim i As Integer
For i = 0 To 4
Number = Random.Next()
If Number Mod 2 = 0 Then
Code = CChar("0" + CChar(CStr(Number Mod 10)))
Else
Code = CChar("A" + CChar(CStr(Number Mod 20)))
End If
CheckCode += Code.ToString
Next
HttpContext.Current.Response.Cookies.Add(New HttpCookie("CheckCode", CheckCode))
Return CheckCode
End Function
#End Region
'<summary>
'生成验证码图片
'</summary>
#Region "生成验证码图片"
Public Sub CreateCheckCodeImage()
Dim CheckCode As String = GenerateCheckCode()
If CheckCode = Nothing Or CheckCode.Trim = String.Empty Then
Return
End If
Dim image As System.Drawing.Bitmap = New System.Drawing.Bitmap( _
CInt(Math.Ceiling((CheckCode.Length * 12.5))), 22)
Dim g As Graphics = Graphics.FromImage(image)
Try
'生成随机生成器
Dim random As Random = New Random
'清空图片背景色
g.Clear(Color.White)
'画图片的背景噪音线
Dim i As Integer
For i = 0 To 12
Dim x1 As Integer = random.Next(image.Width)
Dim x2 As Integer = random.Next(image.Width)
Dim y1 As Integer = random.Next(image.Height)
Dim y2 As Integer = random.Next(image.Height)
g.DrawLine(New Pen(Color.Silver), x1, y1, x2, y2)
Next
Dim Font As Font = New System.Drawing.Font("arial", 12, (System.Drawing.FontStyle.Bold Or FontStyle.Italic))
Dim brush As System.Drawing.Drawing2D.LinearGradientBrush = New System.Drawing.Drawing2D.LinearGradientBrush(New _
Rectangle(0, 0, image.Width, image.Height), Color.Blue, Color.DarkRed, 1.2F, True)
g.DrawString(CheckCode, Font, brush, 2, 2)
'画图片的前景噪音点
For i = 0 To 99
Dim x As Integer = random.Next(image.Width)
Dim y As Integer = random.Next(image.Height)
image.SetPixel(x, y, Color.FromArgb(random.Next()))
Next
g.DrawRectangle(New Pen(Color.Silver), 0, 0, image.Width - 1, image.Height - 1)
Dim ms As System.IO.MemoryStream = New System.IO.MemoryStream()
image.Save(ms, System.Drawing.Imaging.ImageFormat.Gif)
HttpContext.Current.Response.ClearContent()
HttpContext.Current.Response.ContentType = "image/Gif"
HttpContext.Current.Response.BinaryWrite(ms.ToArray())
Finally
g.Dispose()
image.Dispose()
End Try
End Sub
#End Region
这是我写的一段代码,但只能两个数字的组合
只能出现0和A的组合,我一只菜菜鸟,请高手救救我啊!
--------------------编程问答-------------------- Dim Random As System.Random = New Random()-----------只生成0-----1的隨機數
即0,0.1,0.2,0.4...........1這樣的數據
If Number Mod 2 = 0 Then --------------你想一下這只能是什么情況﹗
补充:.NET技术 , ASP.NET