怎样把validatecode.asp修改成自己想要的图片的样子
这是validatecode.asp文件 <修改图片中字的大小,颜色等>
<%
Option Explicit
Response.Buffer = True
Response.Expires = -1
Response.AddHeader "Pragma","no-cache"
Response.AddHeader "cache-ctrol","no-cache"
Dim RndNum,ImgFileContent
Randomize Timer
RndNum = Cint(7999*Rnd+1000)
Session("cnbruce.com_ValidateCode") = Cstr(RndNum)
ImgFileContent=NumCode(RndNum)
Response.ContentType = "image/BMP"
Response.BinaryWrite ImgFileContent
Function NumCode(NumS)
Dim NumI,NumJ
Dim AdoM,AdoN
Dim Arr_Img(4),NStr
NStr=Cstr(NumS)
For NumI=0 To 3
Arr_Img(NumI)=Cint(Mid(NStr,NumI+1,1))
Next
Dim Position
Set AdoM=Server.CreateObject("Adodb.Stream")
AdoM.Mode=3
AdoM.Type=1
AdoM.Open
Set AdoN=Server.CreateObject("Adodb.Stream")
AdoN.Mode=3
AdoN.Type=1
AdoN.Open
AdoM.LoadFromFile(Server.Mappath("validatebody.fix"))
AdoN.Write AdoM.Read(1280)
For NumI=0 To 3
AdoM.Position=(9-Arr_Img(NumI))*320
AdoN.Position=NumI*320
AdoN.Write AdoM.Read(320)
Next
AdoM.LoadFromFile(Server.Mappath("validatehead.fix"))
Position=Lenb(AdoM.Read())
AdoM.Position=Position
For NumI=0 To 9 Step 1
For NumJ=0 To 3
AdoN.Position=NumI*32+NumJ*320
AdoM.Position=Position+30*NumJ+NumI*120
AdoM.Write AdoN.Read(30)
Next
Next
AdoM.Position = 0
NumCode = AdoM.Read()
AdoM.Close:Set AdoM=Nothing
AdoN.Close:Set AdoN=Nothing
End Function
%>
------解决方案--------------------validatehead.fix
这个里面的东西贴出来看看
如果只是该百年验证码大小的话 可以用css样式看看
------解决方案--------------------我也不知道
------解决方案-------------------- 一, fix是bmp的一种衍生格式,可用于asp生成验证码图形。 一个例子: 1 图象绘制完成后,将文件存为24位位图格式的BMP图象文件。 2 去除前54Byte内容. 3 改名为BODY+数字.FIX 4 修改CHECKCODE.ASP,调用你新做的这个文件. (checkcode.asp 负责生成和输出验证码 1309 byte,head.fix 是54byte的BMP头,body.fix 数字0~9 10X100竖排的RGB阵列数据3200 byte ) 就是生成彩色验证码的文件 1、checkcode.ASP 负责生成和输出验证码 1309 byte。 2、head.fix 是54byte的BMP头 3 、body.fix 数字0~9 10X100竖排的RGB阵列数据3200 byte 二, 高达模型的一种,涂装完成品,1/144比例,涂装精美,配件众多,但价格较高,详见gff词条 Fix 取整函数 (截断函数) Rnd 取值范围: 0 ~ 1 0.00001 ~~ 0.999999 Rnd*11 取值范围:0 ~ 11 0.00001~~10.999999 Fix(Rnd*11) 取值范围:0 ~ 11的随机整数
------解决方案--------------------查了哈 发觉这个可复杂了 汗死!
------解决方案--------------------是用24位的BMP图片做出来的,head.fix是bmp的头部,里面包含了图片所有的信息,如:图片的大小,长宽,色深,压缩方式什么的。这个bmp头总共站54字节。做法很简单,下载个Uedit32打开图片,把54字节以后的所有数据都删除就OK了。body.fix是bmp文件的数据部分,就是我们看到的图像部分,只是把bmp头信息删除了。在说说图片的制作过程吧,其实head.fix和body.fix是完全不相干的2张图里的数据,不要以为是把一张图片用Uedit32分开,把54字节的头保存head.fix把后面的数据保存body.fix就可以了。
-----------------
楼主试试吧