Session("gif") = RndNum(5)
Me.IMG1.Src = "../vendor_admin/random_image.aspx"
random_image.aspx:
Imports System.Drawing.Drawing2D
Imports System.Drawing.Imaging
Imports System.Drawing.Text
Imports System.Drawing
Imports System.Text
Partial Class public_random_image
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim ImagePath As String = "~/image/Validator.jpg"
Dim gif As String = Session("gif") 'RndNum(5)
Dim _text() As Char = gif.ToCharArray(0, gif.Length)
gif = _text(0).ToString + " " + _text(1).ToString + _text(2).ToString + " " + _text(3).ToString + " " + _text(4).ToString
'/创建Bmp位图
Dim bitMapImage As Bitmap = New System.Drawing.Bitmap(Server.MapPath(ImagePath))
Dim graphicImage As Graphics = Graphics.FromImage(bitMapImage)
'/设置画笔的输出模式
graphicImage.SmoothingMode = SmoothingMode.HighQuality ' SmoothingMode.HighSpeed
'/添加文本字符串
graphicImage.DrawString(gif, New Font("Arial", 15, FontStyle.Bold), SystemBrushes.WindowText, New Point(0, 0))
'/设置图像输出的格式
Response.ContentType = "image/jpeg"
'/保存数据流
bitMapImage.Save(Response.OutputStream, ImageFormat.Jpeg)
'/释放占用的资源
graphicImage.Dispose()
bitMapImage.Dispose()
End Sub
End Class
RndNum class:
'函数名称:RndNum
'函数参数:VcodeNum--设定返回随机字符串的位数
'函数功能:产生数字和字符混合的随机字符串
Function RndNum(ByVal VcodeNum) As String
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,V,W,X,Y,Z"
Dim VcArray() As String = Split(Vchar, ",") '将字符串生成数组
Dim VNum As String = ""
Dim i As Byte
For i = 1 To VcodeNum
Randomize()
VNum = VNum & VcArray(Int(35 * Rnd())) '数组一般从0开始读取,所以这里为35*Rnd
Next
Return VNum
' While (iNum = Convert.ToInt32(VcArray.Length * random.NextDouble())) = VcArray.Length
' iNum = Convert.ToInt32(VcArray.Length * random.NextDouble())
' End While
' VNum += VcArray(iNum)
End Function