马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
问题是他们究竟是喜欢他们是使用软件时,速度快还是速度慢好.(当然在3秒以内).无论是他们输入资料时,查找资料时,分析资料时.利用ASP天生图片黑色校验码
49行代码,三个文件
Asp文件:Code.Asp
数据文件:body.Fix,Head.Fix
下载:下载打包文件
用法:<imgsrc="code.asp">
- <%
- OptionExplicit
- Response.buffer=true
- NumCode
- FunctionNumCode()
- Response.Expires=-1
- Response.AddHeader"Pragma","no-cache"
- Response.AddHeader"cache-ctrol","no-cache"
- dimzNum,i,j
- dimAdos,Ados1
- Randomizetimer
- zNum=cint(8999*Rnd+1000)
- Session("GetCode")=zNum
- dimzimg(4),NStr
- NStr=cstr(zNum)
- Fori=0to3
- zimg(i)=cint(mid(NStr,i+1,1))
- Next
- dimPos
- setAdos=Server.CreateObject("Adodb.Stream")
- Ados.Mode=3
- Ados.Type=1
- Ados.Open
- setAdos1=NTcolor=#0000bb>Server.CreateObject("Adodb.Stream")
- Ados1.Mode=3
- Ados1.Type=1
- Ados1.Open
- Ados.LoadFromFile(Server.mappath("body.Fix"))
- Ados1.writeAdos.read(1280)
- fori=0to3
- Ados.Position=(9-zimg(i))*320
- Ados1.Position=i*320
- Ados1.writeados.read(320)
- next
- Ados.LoadFromFile(Server.mappath("head.fix"))
- Pos=lenb(Ados.read())
- Ados.Position=Pos
- fori=0to9step1
- forj=0to3
- Ados1.Position=i*32>+j*320
- Ados.Position=Pos+30*j+i*120
- Ados.writeados1.read(30)
- next
- next
- Response.ContentType="image/BMP"
- Ados.Position=0
- Response.BinaryWriteAdos.read()
- Ados.Close:setAdos=nothing
- Ados1.Close:setAdos1=nothing
- EndFunction
- AspcodeCreatedbyBlueIdea.COMWebTeamV372003-7-25
- %>[code]
复制代码
代码注释:
Response.buffer=true
NumCode
FunctionNumCode()
Response.Expires=-1
Response.AddHeader"Pragma","no-cache"
Response.AddHeader"cache-ctrol","no-cache"
dimzNum,i,j
dimAdos,Ados1
Randomizetimer
天生随机四位数字:
zNum=cint(8999*Rnd+1000)
传送给session
Session("GetCode")=zNum
该for轮回是将随机数字放进一个下标3的数组,便于供应给前面的阵列变更
dimzimg(3),NStr
NStr=cstr(zNum)
Fori=0to3
zimg(i)=cint(mid(NStr,i+1,1))
Next
dimPos
界说二个ADODB.Streambinary工具,作图象数据操纵之用:
setAdos=Server.CreateObject("Adodb.Stream")
Ados.Mode=3
Ados.Type=1
Ados.Open
setAdos1=Server.CreateObject("Adodb.Stream")
Ados1.Mode=3
Ados1.Type=1
Ados1.Open
载进0~9的数字数据10x100的,Gbr的阵列数据,每一个320字节,10个数字3200byte
BGR一个点,10x10个点一个数字,一个点三个字节(二进制8位,16进制00~FF)
一行10个点30字节+行停止标志0000二字节32字节,以是一个10x100宽小于长的图象每一个数字10x10是320字节
长年夜于宽的则无行停止标志0000,间接是300字节
这些就是BMP24bit的数据具体信息了
‘至于头部,也很复杂,包括长宽,图象入手下手标志等等~~才54字节,远没jpg甚么的庞大
Ados.LoadFromFile(Server.mappath("body.Fix"))
Ados1.writeAdos.read(1280)
第一个for轮回,按天生的随机数字按次从10X100的数字阵列中提掏出响应的四个数字
可是竖排的数字阵列
fori=0to3
Ados.Position=(9-zimg(i))*320
Ados1.Position=i*320
Ados1.writeados.read(320)
只要你想学,就没什么优缺点,上面那位大哥已经把网上的评论说了,但我认为想学哪个都一样,不然它就不可能在当今时代数字艺术方面存活到今天 |