📄 checkcode.aspx.vb
字号:
Imports System.Collections
Imports System.ComponentModel
Imports System.Drawing
Public Class CheckCode
Inherits System.Web.UI.Page
#Region " Web 窗体设计器生成的代码 "
'该调用是 Web 窗体设计器所必需的。
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
End Sub
'注意: 以下占位符声明是 Web 窗体设计器所必需的。
'不要删除或移动它。
Private Rum As Pub3one = New Pub3one
Private designerPlaceholderDeclaration As System.Object
Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
'CODEGEN: 此方法调用是 Web 窗体设计器所必需的
'不要使用代码编辑器修改它。
InitializeComponent()
End Sub
#End Region
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'在此处放置初始化页的用户代码
Dim str As String = Rum.RndNum(5)
CreateCheckCodeImage(str)
Session("checknum") = str
End Sub
Private Function CreateCheckCodeImage(ByVal checkCode As String)
If (checkCode = "" Or checkCode.Trim() = "") Then
End If
Dim Image As Bitmap = New 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 25
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 Font("Arial", 12, (System.Drawing.FontStyle.Bold Or System.Drawing.FontStyle.Italic))
Dim brush As Drawing2D.LinearGradientBrush = New Drawing2D.LinearGradientBrush(New Rectangle(0, 0, Image.Width, Image.Height), Color.Blue, Color.DarkRed, 1.2F, True)
g.DrawString(checkCode, font, brush, 2, 2)
'画图片的前景噪音点
Dim i2 As Integer
For i2 = 0 To 100
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 IO.MemoryStream = New IO.MemoryStream
Image.Save(ms, Drawing.Imaging.ImageFormat.Gif)
Response.ClearContent()
Response.ContentType = "image/Gif"
Response.BinaryWrite(ms.ToArray)
Finally
g.Dispose()
Image.Dispose()
End Try
End Function
End Class
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -