国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区

掃一掃
關(guān)注微信公眾號

ASP實(shí)現(xiàn)無組件生成驗(yàn)證碼-GIF格式
2007-02-12   網(wǎng)絡(luò)

<%
Option Explicit ' 顯示聲明

Class Com_GifCode_Class
'''''''''''''''''''''''''''''''''''''''''''''
' Author: Layen support@ssaw.net 84815733(QQ)
' Thanks: Laomi, Laomiao, NetRube
' 2006-01-02
'''''''''''''''''''''''''''''''''''''''''''''
Public Noisy, Count, Width, Height, Angle, Offset, Border

Private Graph(), Margin(3)

Private Sub Class_Initialize()
Randomize
Noisy = 16 ' 干擾點(diǎn)出現(xiàn)的概率
Count = 4 ' 字符數(shù)量
Width = 80 ' 圖片寬度
Height = 20 ' 圖片高度
Angle = 2 ' 角度隨機(jī)變化量
Offset = 20 ' 偏移隨機(jī)變化量
Border = 1 ' 邊框大小
End Sub

Public Function Create()

Const cCharSet = "123456789"

Dim i, x, y

Dim vValidCode : vValidCode = ""
Dim vIndex

ReDim Graph(Width-1, Height-1)

For i = 0 To Count - 1
vIndex = Int(Rnd * Len(cCharSet))
vValidCode = vValidCode + Mid(cCharSet, vIndex+1 , 1)
SetDraw vIndex, i
Next

Create = vValidCode

End Function

Sub SetDot(pX, pY)
If pX * (Width-pX-1) >= 0 And pY * (Height-pY-1) >= 0 Then
Graph(pX, pY) = 1
End If
End Sub

Public Sub SetDraw(pIndex, pNumber)

' 字符數(shù)據(jù)
Dim DotData(8)
DotData(0) = Array(30, 15, 50, 1, 50, 100)
DotData(1) = Array(1 ,34 ,30 ,1 ,71, 1, 100, 34, 1, 100, 93, 100, 100, 86)
DotData(2) = Array(1, 1, 100, 1, 42, 42, 100, 70, 50, 100, 1, 70)
DotData(3) = Array(100, 73, 6, 73, 75, 6, 75, 100)
DotData(4) = Array(100, 1, 1, 1, 1, 50, 50, 35, 100, 55, 100, 80, 50, 100, 1, 95)
DotData(5) = Array(100, 20, 70, 1, 20, 1, 1, 30, 1, 80, 30, 100, 70, 100, 100, 80, 100, 60, 70, 50, 30, 50, 1, 60)
DotData(6) = Array(6, 26, 6, 6, 100, 6, 53, 100)
DotData(7) = Array(100, 30, 100, 20, 70, 1, 30, 1, 1, 20, 1, 30, 100, 70, 100, 80, 70, 100, 30, 100, 1, 80, 1, 70, 100, 30)
DotData(8) = Array(1, 80, 30, 100, 80, 100, 100, 70, 100, 20, 70, 1, 30, 1, 1, 20, 1, 40, 30, 50, 70, 50, 100, 40)

Dim vExtent : vExtent = Width / Count
Margin(0) = Border + vExtent * (Rnd * Offset) / 100 + Margin(1)
Margin(1) = vExtent * (pNumber + 1) - Border - vExtent * (Rnd * Offset) / 100
Margin(2) = Border + Height * (Rnd * Offset) / 100
Margin(3) = Height - Border - Height * (Rnd * Offset) / 100

Dim vStartX, vEndX, vStartY, vEndY
Dim vWidth, vHeight, vDX, vDY, vDeltaT

Dim vAngle, vLength

vWidth = Int(Margin(1) - Margin(0))

vHeight = Int(Margin(3) - Margin(2))

' 起始坐標(biāo)
vStartX = Int((DotData(pIndex)(0)-1) * vWidth / 100)

vStartY = Int((DotData(pIndex)(1)-1) * vHeight / 100)

Dim i, j
For i = 1 To UBound(DotData(pIndex), 1)/2

If DotData(pIndex)(2*i-2) <> 0 And DotData(pIndex)(2*i) <> 0 Then

' 終點(diǎn)坐標(biāo)
vEndX = (DotData(pIndex)(2*i)-1) * vWidth / 100

vEndY = (DotData(pIndex)(2*i+1)-1) * vHeight / 100

' 橫向差距
vDX = vEndX - vStartX
' 縱向差距
vDY = vEndY - vStartY

' 傾斜角度
If vDX = 0 Then
vAngle = Sgn(vDY) * 3.14/2
Else
vAngle = Atn(vDY / vDX)
End If

' 兩坐標(biāo)距離
If Sin(vAngle) = 0 Then
vLength = vDX
Else
vLength = vDY / Sin(vAngle)
End If

' 隨機(jī)轉(zhuǎn)動角度
vAngle = vAngle + (Rnd - 0.5) * 2 * Angle * 3.14 * 2 / 100

vDX = Int(Cos(vAngle) * vLength)

vDY = Int(Sin(vAngle) * vLength)

If Abs(vDX) > Abs(vDY) Then vDeltaT = Abs(vDX) Else vDeltaT = Abs(vDY)

For j = 1 To vDeltaT
SetDot Margin(0) + vStartX + j * vDX / vDeltaT, Margin(2) + vStartY + j * vDY / vDeltaT
Next

vStartX = vStartX + vDX

vStartY = vStartY + vDY
End If
Next
End Sub

Public Sub Output()

Response.Expires = -9999
Response.AddHeader "pragma", "no-cache"
Response.AddHeader "cache-ctrol", "no-cache"
Response.ContentType = "image/gif"

' 文件類型
Response.BinaryWrite ChrB(Asc("G")) & ChrB(Asc("I")) & ChrB(Asc("F"))
' 版本信息
Response.BinaryWrite ChrB(Asc("8")) & ChrB(Asc("9")) & ChrB(Asc("a"))
' 邏輯屏幕寬度
Response.BinaryWrite ChrB(Width Mod 256) & ChrB((Width \ 256) Mod 256)
' 邏輯屏幕高度
Response.BinaryWrite ChrB(Height Mod 256) & ChrB((Height \ 256) Mod 256)

Response.BinaryWrite ChrB(128) & ChrB(0) & ChrB(0)
' 全局顏色列表
Response.BinaryWrite ChrB(255) & ChrB(255) & ChrB(255)

Response.BinaryWrite ChrB(0) & ChrB(85) & ChrB(255)

' 圖象標(biāo)識符
Response.BinaryWrite ChrB(Asc(","))

Response.BinaryWrite ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0)
' 圖象寬度
Response.BinaryWrite ChrB(Width Mod 256) & ChrB((Width \ 256) Mod 256)
' 圖象高度
Response.BinaryWrite ChrB(Height Mod 256) & ChrB((Height \ 256) Mod 256)

Response.BinaryWrite ChrB(0) & ChrB(7) & ChrB(255)

Dim x, y, i : i = 0
For y = 0 To Height - 1
For x = 0 To Width - 1
If Rnd < Noisy / 100 Then
Response.BinaryWrite ChrB(1-Graph(x, y))
Else
If x * (x-Width) = 0 Or y * (y-Height) = 0 Then
Response.BinaryWrite ChrB(Graph(x, y))
Else
If Graph(x-1, y) = 1 Or Graph(x, y) Or Graph(x, y-1) = 1 Then
Response.BinaryWrite ChrB(1)
Else
Response.BinaryWrite ChrB(0)
End If
End If
End If
If (y * Width + x + 1) Mod 126 = 0 Then
Response.BinaryWrite ChrB(128)
i = i + 1
End If
If (y * Width + x + i + 1) Mod 255 = 0 Then
If (Width*Height - y * Width - x - 1) > 255 Then
Response.BinaryWrite ChrB(255)
Else
Response.BinaryWrite ChrB(Width * Height Mod 255)
End If
End If
Next
Next
Response.BinaryWrite ChrB(128) & ChrB(0) & ChrB(129) & ChrB(0) & ChrB(59)
End Sub
End Class

Dim mCode
Set mCode = New Com_GifCode_Class
Session("GetCode") = mCode.Create()
mCode.Output()
Set mCode = Nothing
%>

熱詞搜索:

上一篇:ASP無組件上載,帶進(jìn)度條,多文件上載
下一篇:如何讓你的無線網(wǎng)絡(luò)更安全?

分享到: 收藏
国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区
亚洲一区二区黄色| 欧美色网站导航| 亚洲综合一区二区| 久久综合九色综合欧美就去吻| 精品婷婷伊人一区三区三| 成人午夜在线播放| 国产**成人网毛片九色| 国产宾馆实践打屁股91| 成+人+亚洲+综合天堂| 不卡欧美aaaaa| 91日韩精品一区| av电影在线观看完整版一区二区| 成人午夜av在线| 91在线观看一区二区| 欧洲精品在线观看| 欧美一区二区日韩一区二区| 日韩视频123| 国产欧美一区二区在线观看| 国产网站一区二区| 一区二区三区在线视频免费 | 成人sese在线| 97国产一区二区| 色欲综合视频天天天| 欧美视频中文字幕| 欧美一区二区高清| 久久亚洲精品小早川怜子| 欧美不卡一区二区三区| 欧美精品粉嫩高潮一区二区| 日韩精品在线一区| 日本一区二区三区国色天香| 亚洲老妇xxxxxx| 五月婷婷激情综合网| 国产一区二区三区精品视频| 成人福利视频在线| 欧美肥胖老妇做爰| 国产蜜臀97一区二区三区| 亚洲欧美日韩国产一区二区三区| 三级欧美在线一区| 成人网页在线观看| 欧美久久久影院| 中文av一区特黄| 亚洲成人av一区二区三区| 国产自产视频一区二区三区| 91视频在线观看免费| 日韩视频在线观看一区二区| 国产精品网站在线观看| 日本不卡视频一二三区| av在线不卡网| 日韩欧美精品三级| 亚洲精品v日韩精品| 国产在线精品免费| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 欧美va亚洲va| 亚洲高清一区二区三区| 丁香六月久久综合狠狠色| 51精品视频一区二区三区| 18成人在线观看| 国产在线视频一区二区三区| 欧美天堂一区二区三区| 中文字幕日韩欧美一区二区三区| 免费在线看成人av| 欧美视频在线播放| 日韩久久一区二区| 国产成人精品网址| 精品久久国产老人久久综合| 午夜欧美一区二区三区在线播放| 99久久国产综合精品色伊| 国产亚洲欧美一级| 久久99精品国产91久久来源| 欧美久久久影院| 亚洲成人av资源| 欧美精品在线一区二区| 亚洲电影第三页| 欧美日韩三级在线| 亚洲一区影音先锋| 在线视频一区二区三区| 一区二区三区在线免费视频| 99精品久久只有精品| 欧美激情一区二区三区全黄 | 国产成人亚洲精品青草天美| 日韩亚洲欧美综合| 蜜桃视频在线一区| 日韩欧美在线123| 激情综合亚洲精品| 久久女同精品一区二区| 国内成人免费视频| 中文字幕av在线一区二区三区| 国产一区美女在线| 国产日韩欧美精品综合| 国产成人亚洲综合色影视| 中文字幕av一区 二区| 成人免费视频app| 亚洲四区在线观看| 欧洲国内综合视频| 午夜精品一区在线观看| 欧美一区二区三区思思人| 日本欧美韩国一区三区| 精品美女在线观看| 成人看片黄a免费看在线| 亚洲欧洲无码一区二区三区| av电影在线观看不卡| 亚洲一级在线观看| 欧美电视剧免费全集观看| 久久精品国产99国产精品| 国产午夜精品在线观看| 91蜜桃在线观看| 午夜久久电影网| 久久久久99精品一区| 99re这里都是精品| 日日夜夜精品免费视频| 久久久国产精品麻豆| 色综合天天性综合| 亚洲成av人在线观看| 精品国内片67194| av不卡一区二区三区| 视频在线在亚洲| 国产精品欧美一区二区三区| 欧美亚洲综合另类| 国产成人免费9x9x人网站视频| 樱花草国产18久久久久| 欧美大片一区二区三区| 色综合久久久久综合| 日韩精品国产精品| 国产精品成人免费| 日韩免费电影一区| 在线观看日韩精品| 风间由美一区二区三区在线观看 | 蜜桃视频一区二区三区| 国产精品午夜久久| 日韩一级在线观看| 欧洲精品一区二区三区在线观看| 国产精品资源站在线| 五月激情六月综合| 亚洲九九爱视频| 久久久久九九视频| 日韩你懂的在线观看| 欧美优质美女网站| 91免费国产在线| 国产69精品久久777的优势| 免费成人结看片| 亚洲第一搞黄网站| 亚洲精品网站在线观看| 国产午夜精品久久久久久免费视| 6080亚洲精品一区二区| 欧美色图免费看| 在线亚洲一区观看| 91视频免费观看| av色综合久久天堂av综合| 国产福利精品一区二区| 美洲天堂一区二卡三卡四卡视频| 亚洲第一搞黄网站| 午夜久久久久久久久久一区二区| 综合久久久久久久| 日韩一区中文字幕| 最近日韩中文字幕| 亚洲日本va午夜在线影院| 国产精品日产欧美久久久久| 国产情人综合久久777777| 久久精品亚洲国产奇米99 | 国产69精品一区二区亚洲孕妇| 精品亚洲porn| 国产一区二区在线免费观看| 国产老妇另类xxxxx| 国产乱码精品1区2区3区| 国产一区91精品张津瑜| 国产福利一区在线观看| 成人久久18免费网站麻豆| 成人app在线观看| 色综合久久88色综合天天6| 欧洲色大大久久| 91精品国产综合久久精品| 日韩一二三四区| 中文字幕欧美国产| 亚洲天堂av一区| 亚洲国产中文字幕在线视频综合| 亚洲一区av在线| 国产在线精品一区二区夜色 | 日本午夜精品一区二区三区电影 | 久久九九影视网| 国产精品久久久久久久久久免费看| 日韩一区欧美小说| 亚洲电影一区二区三区| 蜜桃一区二区三区在线| 高清国产一区二区三区| 色88888久久久久久影院野外| 欧美日韩一区 二区 三区 久久精品| 欧美一区二区三区在线观看| 久久久777精品电影网影网| 一区二区三区中文字幕电影 | 麻豆精品视频在线| 福利一区二区在线观看| 欧美视频中文字幕| 久久久久久久av麻豆果冻| 亚洲激情在线激情| 久久精品二区亚洲w码| www.欧美色图| 欧美成人精品福利| 欧美成人女星排名| 日韩一区欧美一区| 奇米四色…亚洲|