ASP教程之asp黑色验证码图象生成剧本
SQL Server是基于服务器端的中型的数据库,可以适合大容量数据的应用,在功能上管理上也要比Access要强得多。在处理海量数据的效率,后台开发的灵活性,可扩展性等方面强大。剧本|验证码 ADODE.Stream完成!49行代码,三个文件 ,有点象本站的CGI img.exe的后果Asp文件:Code.Asp
数据文件:body.Fix , Head.Fix
演示:
http://www.lfgbox.com/paintblue/code/code.asp
:D 我已放我服装论坛去啦~~
下载:
http://www.lfgbox.com/download/code.rar
用法:<img src="code.asp">
在查验页:判别 Cint(request("GetCode"))=Session("GetCode")
:rolleyes: :rolleyes: :rolleyes:
别怪我做过剩休息~~折腾代码!写个全新的的东东是舒服的~~
请注重下载完全的数字数据文件~~
代码思绪就是使用 ADODB.Stream二进制对象停止二进制流的处置!
将随机生成的数字转换为挪用图象数据中响应的数据块,图象数据是GBR GBR ..排部的 数据,头是BMP的头~~然后用ADODB.Stream 将生成的随机数字图象数据再组合为新的一个bmp图象块~~用Response.BinaryWrite 将其直接发送阅读器
Body.Fix 数字0~9 10X100竖排的RGB阵列数据3200 byte
Head.Fix 是54byte的BMP头
假如要改动字体和色彩~~可以将bmp 10x100 图象的前54字节去失落!
交换body.Fix文件
<%
Option explicit
Response.buffer=true
NumCode
Function NumCode()
Response.Expires = -1
Response.AddHeader "Pragma","no-cache"
Response.AddHeader "cache-ctrol","no-cache"
dim zNum,i,j
dim Ados,Ados1
Randomize timer
zNum = cint(8999*Rnd+1000)
Session("GetCode") = zNum
dim zimg(4),NStr
NStr=cstr(zNum)
For i=0 to 3
zimg(i)=cint(mid(NStr,i+1,1))
Next
dim Pos
set Ados=Server.CreateObject("Adodb.Stream")
Ados.Mode=3
Ados.Type=1
Ados.Open
set Ados1=Server.CreateObject("Adodb.Stream")
Ados1.Mode=3
Ados1.Type=1
Ados1.Open
Ados.LoadFromFile(Server.mappath("body.Fix"))
Ados1.write Ados.read(1280)
for i=0 to 3
Ados.Position=(9-zimg(i))*320
Ados1.Position=i*320
Ados1.write ados.read(320)
next
Ados.LoadFromFile(Server.mappath("head.fix"))
Pos=lenb(Ados.read())
Ados.Position=Pos
for i=0 to 9 step 1
for j=0 to 3
Ados1.Position=i*32+j*320
Ados.Position=Pos+30*j+i*120
Ados.write ados1.read(30)
next
next
Response.ContentType = "image/BMP"
Ados.Position=0
Response.BinaryWrite Ados.read()
Ados.Close:set Ados=nothing
Ados1.Close:set Ados1=nothing
End Function
'Asp code Created by BlueIdea.COM Web Team V37 2003-7-25
%>
问题是他们究竟是喜欢他们是使用软件时,速度快还是速度慢好.(当然在3秒以内).无论是他们输入资料时,查找资料时,分析资料时. 我认为比较好的方法是找一些比较经典的例子,每个例子比较集中一种编程思想而设计的。 ASP的语言不仅仅只是命令格式差不多,而是包含在<%%>之内的命令完全就是VB语法。虽然ASP也是做为单独的一个技术来提出的,但他就是完全继承了VB所有的功能。 学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点: 弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。 掌握asp的特性而且一定要知道为什么。 ASP的语言不仅仅只是命令格式差不多,而是包含在<%%>之内的命令完全就是VB语法。虽然ASP也是做为单独的一个技术来提出的,但他就是完全继承了VB所有的功能。 它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。 它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。 它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。 还有如何才能在最短的时间内学完?我每天可以有效学习2小时,双休日4小时。 如何更好的使自己的东西看上去很不错等等。其实这些都不是问题的实质,我们可以在实践中不断提升自己,不断充实自己。 那么,ASP.Net有哪些改进呢? Response:从字面上讲是“响应”,因此这个是服务端向客户端发送东西的,例如Response.Write 虽然ASP也有很多网络教程。但是这些都不系统。都是半路出家,只是从一个例子告诉你怎么用。不会深入讨论,更不会将没有出现在例子里的方法都一一列举出来。 ASP的语言不仅仅只是命令格式差不多,而是包含在<%%>之内的命令完全就是VB语法。虽然ASP也是做为单独的一个技术来提出的,但他就是完全继承了VB所有的功能。 从事这个行业,那么你可以学ASP语言,简单快速上手,熟练dreamweav排版,写asp代码,熟练photoshop处理图片,打好基础就行了 学习是为了用的,是为了让你的程序产生价值,把握住这个原则会比较轻松点。除此之外,课外时间一定要多参加一些社会实践活动,来锻炼自己的能力。 如何更好的使自己的东西看上去很不错等等。其实这些都不是问题的实质,我们可以在实践中不断提升自己,不断充实自己。
页:
[1]