ASP output BMP_ Application skills
Last Update:2017-01-18
Source: Internet
Author: User
ASP output BMP
[2005-03-06 12:04:25 | Author: flashsoft]
Font Size: Big | In | Small
<%
Call Com_creatvalidcode ("Validcode")
Sub Com_creatvalidcode (PSN)
' Author:layen
' qq:84815733
' E-mail:support@ssaw.net
' Disable caching
Response.Expires =-9999
Response.AddHeader "Pragma", "No-cache"
Response.AddHeader "Cache-ctrol", "No-cache"
Response.ContentType = "Image/bmp"
Randomize
Dim I, II, III
Const Codds = 8 ' Odds of occurrence of miscellaneous points
Const Camount = 36 ' text quantity
Const ccode = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
' Color data (character, background)
Dim Vcolordata (1)
Vcolordata (0) = ChrB (0) & ChrB (0) & ChrB (0) ' Blue 0, Green 0, Red 0 (black)
Vcolordata (1) = ChrB (+) & ChrB (236) & ChrB (211) ' Blue 250, green 236, red 211 (light blue)
' Randomly generated characters
Dim Vcode (4), vcodes
For i = 0 to 3
Vcode (i) = Int (Rnd * camount)
Vcodes = vcodes & Mid (Ccode, Vcode (i) + 1, 1)
Next
Session (PSN) = Vcodes ' Log into session
' Character of the data
Dim Vnumberdata (35)
Vnumberdata (0) = " 1110000111110111101111011110111101001011110100101111010010111101001011110111101111011110111110000111 "
Vnumberdata (1) = " 1111011111110001111111110111111111011111111101111111110111111111011111111101111111110111111100000111 "
Vnumberdata (2) = " 1110000111110111101111011110111111111011111111011111111011111111011111111011111111011110111100000011 "
Vnumberdata (3) = " 1110000111110111101111011110111111110111111100111111111101111111111011110111101111011110111110000111 "
Vnumberdata (4) = " 1111101111111110111111110011111110101111110110111111011011111100000011111110111111111011111111000011 "
Vnumberdata (5) = " 1100000011110111111111011111111101000111110011101111111110111111111011110111101111011110111110000111 "
Vnumberdata (6) = " 1111000111111011101111011111111101111111110100011111001110111101111011110111101111011110111110000111 "
Vnumberdata (7) = " 1100000011110111011111011101111111101111111110111111110111111111011111111101111111110111111111011111 "
Vnumberdata (8) = " 1110000111110111101111011110111101111011111000011111101101111101111011110111101111011110111110000111 "
Vnumberdata (9) = " 1110001111110111011111011110111101111011110111001111100010111111111011111111101111011101111110001111 "
Vnumberdata (10) = " 1111011111111101111111101011111110101111111010111111101011111100000111110111011111011101111000100011 "
Vnumberdata (11) = " 1000000111110111101111011110111101110111110000111111011101111101111011110111101111011110111000000111 "
Vnumberdata (12) = " 1110000011110111101110111110111011111111101111111110111111111011111111101111101111011101111110001111 "
Vnumberdata (13) = " 1000001111110111011111011110111101111011110111101111011110111101111011110111101111011101111000001111 "
Vnumberdata (14) = " 1000000111110111101111011011111101101111110000111111011011111101101111110111111111011110111000000111 "
Vnumberdata (15) = " 1000000111110111101111011011111101101111110000111111011011111101101111110111111111011111111000111111 "
Vnumberdata (16) = " 1110000111110111011110111101111011111111101111111110111111111011100011101111011111011101111110001111 "
Vnumberdata (17) = " 1000100011110111011111011101111101110111110000011111011101111101110111110111011111011101111000100011 "
Vnumberdata (18) = " 1100000111111101111111110111111111011111111101111111110111111111011111111101111111110111111100000111 "
Vnumberdata (19) = " 1110000011111110111111111011111111101111111110111111111011111111101111111110111110111011111000011111 "
Vnumberdata (20) = " 1000100011110111011111011011111101011111110001111111010111111101101111110110111111011101111000100011 "
Vnumberdata (21) = " 1000111111110111111111011111111101111111110111111111011111111101111111110111111111011110111000000011 "
Vnumberdata (22) = " 1000100011110010011111001001111100100111110101011111010101111101010111110101011111010101111001010011 "
Vnumberdata (23) = " 1000100011110011011111001101111101010111110101011111010101111101100111110110011111011001111000110111 "
Vnumberdata (24) = " 1110001111110111011110111110111011111011101111101110111110111011111011101111101111011101111110001111 "
Vnumberdata (25) = " 1000000111110111101111011110111101111011110000011111011111111101111111110111111111011111111000111111 "
Vnumberdata (26) = " 1110001111110111011110111110111011111011101111101110111110111011111011101001101111011001111110001011 "
Vnumberdata (27) = " 1000001111110111011111011101111101110111110000111111010111111101101111110110111111011101111000110011 "
Vnumberdata (28) = " 1110000011110111101111011110111101111111111001111111111001111111111011110111101111011110111100000111 "
Vnumberdata (29) = " 1000000011101101101111110111111111011111111101111111110111111111011111111101111111110111111110001111 "
Vnumberdata (30) = " 1000100011110111011111011101111101110111110111011111011101111101110111110111011111011101111110001111 "
Vnumberdata (31) = " 1000100011110111011111011101111101110111111010111111101011111110101111111010111111110111111111011111 "
Vnumberdata (32) = " 1001010011110101011111010101111101010111110101011111001001111110101111111010111111101011111110101111 "
Vnumberdata (33) = " 1000100011110111011111101011111110101111111101111111110111111110101111111010111111011101111000100011 "
Vnumberdata (34) = " 1000100011110111011111011101111110101111111010111111110111111111011111111101111111110111111110001111 "
Vnumberdata (35) = " 1100000011110111011111111101111111101111111110111111110111111111011111111011111111101110111100000011 "
' Output image file header
Response.BinaryWrite ChrB & ChrB (a) & ChrB (230) & ChrB (4) & ChrB (0) & ChrB (0) & ChrB (0) & ChrB (0) &_
ChrB (0) & ChrB (0) & ChrB (a) & ChrB (0) & ChrB (0) & ChrB (0) & ChrB () & ChrB (0) &_
ChrB (0) & ChrB (0) & ChrB (+) & ChrB (0) & ChrB (0) & ChrB (0) & ChrB (a) & ChrB (0) &_
ChrB (0) & ChrB (0) & ChrB (1) & ChrB (0)
' Output image information header
Response.BinaryWrite ChrB & ChrB (0) & ChrB (0) & ChrB (0) & ChrB (0) & ChrB (0) & ChrB (176) & ChrB (4) &_
ChrB (0) & ChrB (0) & ChrB (a) & ChrB (one) & ChrB (0) & ChrB (0) & ChrB (a) & ChrB (one) &_
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 ' after all lines
For II = 0 to 3 ' after all words
For III = 1 to 10 ' after all pixels
' Output image data by line, word, pixel
If Rnd * + 1 < Codds Then ' randomly generated miscellaneous points
Response.BinaryWrite vcolordata (0)
Else
Response.BinaryWrite Vcolordata (Mid vnumberdata (Vcode (ii)), I * + III, 1))
End If
Next
Next
Next
End Sub
%>