把網頁中的(電話,qq等數字)生成圖片的ASP程序

作用:用ASP程序將頁面中的電話號碼生成圖片格式。

代碼如下:

<%

Call Com_CreatValidCode(Request.QueryString("tel"))

Public Sub Com_CreatValidCode(pTel)

'----------禁止緩存

Response.Expires = 0

Response.AddHeader "Pragma","no-cache"

Response.AddHeader "cache-ctrol","no-cache"

Response.ContentType = "Image/BMP"

Randomize

Dim i, ii, iii ,rndColor,strLen,sql,rs

Const cOdds = 5 '------------雜點出現的機率

Const str="0123456789-"

strLen = len(pTel)

rndColor = ChrB(cint(rnd*255)) & ChrB(cint(rnd*255)) & ChrB(cint(rnd*255))

'-----------顏色的數據(字符,背景)

Dim vColorData(1)

'vColorData(0) = ChrB(0) & ChrB(0) & ChrB(0) '----藍0,綠0,紅0(黑色)

'vColorData(1) = ChrB(255) & ChrB(255) & ChrB(255) '----藍250,綠236,紅211(淺藍色)

'vColorData(0) = ChrB(197) & ChrB(106) & ChrB(49) '---- 藍0,綠0,紅0(黑色)

'vColorData(1) = ChrB(238) & ChrB(210) & ChrB(193) '-----藍250,綠236,紅211(淺藍色)

vColorData(0) = ChrB(0) & ChrB(0) & ChrB(0) '---------藍0,綠0,紅0(黑色)

vColorData(1) = ChrB(205) & ChrB(237) & ChrB(245) '------------藍250,綠236,紅211(淺藍色)

'--------------------隨機產生字符

Randomize

Dim vCode()

redim vCode(strLen-1)

For i = 0 To strLen-1

vCode(i) =instr(1,str,mid(pTel,i+1,1),1)-1

Next

'-----------字符的數據

Dim vNumberData(11)

'Verdana Font

vNumberData(0) = "11111111111000111101110111011101110111011101110111011101110111011110001111111111"

vNumberData(1) = "11111111111101111110011111110111111101111111011111110111111101111110001111111111"

vNumberData(2) = "11111111111000111101110111011101111110111111011111101111110111111100000111111111"

vNumberData(3) = "11111111111000111101110111111101111100111111110111111101110111011110001111111111"

vNumberData(4) = "11111111111110111111001111101011111010111101101111100001111110111111100111111111"

vNumberData(5) = "11111111110000011101111111011111110000111111110111111101110111011110001111111111"

vNumberData(6) = "11111111111000111101101111011111110000111101110111011101110111011110001111111111"

vNumberData(7) = "11111111110000011101101111111011111101111111011111110111111101111111011111111111"

vNumberData(8) = "11111111111000111101110111011101111000111101110111011101110111011110001111111111"

vNumberData(9) = "11111111111000111101110111011101110111011110000111111101111011011110000111111111"

vNumberData(10) = "11111111111111111111111111111111111111111100000111111111111111111111111111111111"

vNumberData(11) = "11111111111111111111111111111111111111111111111111111111111111111111111111111111"

'-----------------輸出圖像文件頭

Response.BinaryWrite ChrB(66) & ChrB(77) &chrb(((strLen*8*10*3+54) mod 256)) & chrb(((strLen*8*10*3+54)\ 256)mod 256) & ChrB((((strLen*8*10*3+54)\ 256)\256)mod 256) & ChrB(((((strLen*8*10*3+54)\ 256)\256)\256)mod 256) & ChrB(0) & ChrB(0) &_

ChrB(0) & ChrB(0) & ChrB(54) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(40) & ChrB(0) &_

ChrB(0) & ChrB(0) & ChrB(strLen*8) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(10) & ChrB(0) &_

ChrB(0) & ChrB(0) & ChrB(1) & ChrB(0)

'------------------輸出圖像信息頭

Response.BinaryWrite ChrB(24) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0)&_

ChrB((strLen*8*10*3)mod 256)&ChrB(((strLen*8*10*3)\256)mod 256)&ChrB((((strLen*8*10*3)\256)\256)mod 256)&ChrB(((((strLen*8*10*3)\256)\256)\256)mod 256)&_

ChrB(196) & ChrB(14) & ChrB(0) & ChrB(0) & ChrB(196) & ChrB(14)&ChrB(0) & ChrB(0) &_

ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0)

For i = 9 To 0 Step -1 '----------歷經所有行

For ii = 0 To strLen-1 '-------歷經所有字

For iii = 1 To 8 '--------歷經所有像素

'---------逐行、逐字、逐像素地輸出圖像數據

If Rnd * 99 + 1 < cOdds Then '---------隨機生成雜點

Response.BinaryWrite rndColor

Else

Response.BinaryWrite vColorData(Mid(vNumberData(vCode(ii)), i * 8 + iii, 1))

End If

Next

Next

Next

End Sub

%>


將以上代碼保存為img.asp,在要顯示電話號碼的位置插入即可。


下一條:Asp 操作Access數據庫時出現死鎖.ldb的,上一條:ASP隱藏真實文件的下載功能實現代碼



龍脈動態 建站套餐 網站備案 優化技巧 優化案例 幫助中心

腾讯麻将作弊器免费