随机登陆验证的图片生成问题

ayun00 2004-08-10 10:41:52
怎么随意生成数字图片和字母图片呢?(登陆验证用)
我看到有些网站的数字和字母有颜色

我知道用 x-xbitmap格式画图,但是x-xbitmap格式 似乎只有黑白二个颜色,还有我不知道怎么随意定义x-xbitmap格式的图片)还有背景图

那是怎样实现的?

...全文
173 点赞 收藏 14
写回复
14 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
ayun00 2004-10-28
up
回复
fls975 2004-10-23
我手里也只有简单的黑白源码.倒没听说过x-xbitmap是什么?不解.
回复
ayun00 2004-10-23
Ados.LoadFromFile(Server.mappath("code.Fix"))

Ados.LoadFromFile(Server.mappath("codehead.fix"))

这二个文件是什么???

Response.ContentType = "image/BMP"
Ados.Position=0
Response.BinaryWrite Ados.read()

Ados.Position=(9-zimg(i))*320
Ados1.Position=i*320
Ados1.write ados.read(320)

这几个是什么属性啊 ??? 手里没有书 不打记得了
回复
dwowbaaa 2004-10-22
完整代码

<%
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("code.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("codehead.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
%>
回复
ayun00 2004-10-22
x-xbitmap 我所理解的是只能支持黑白二色

但是好多网站都使用彩色的了

还有 我找不到x-xbitmap的开发工具啊

我就不能随意的书写x-xbitmap格式的文字啊
回复
QQgenie 2004-10-22
设法把部分汉字的编码搞出来,那就方便了!
回复
bluemoon0001 2004-10-22
呵呵,那就对了,这就是验证码生成的图片文件,再给你看一个:

#define counter_width 32
#define counter_height 10
static unsigned char counter_bits[]={
0xfe,0xfe,0x18,0x3c,0xfe,0xfe,0x1c,0x66,0x06,0x06,0x18,0xc3,0x06,0x06,0x18,0x66,0x3e,0x3e,0x18,0x3c,0x60,0x60,0x18,0x66,0xc0,0xc0,0x18,0xc3,0xc3,0xc3,0x18,0xc3,0x66,0x66,0x18,0x66,0x3c,0x3c,,0x3c};
回复
yuliang0828 2004-10-22
什么啊,两个大黑块啊?
回复
bluemoon0001 2004-10-22
找个动网7.0的看一下就行了。
回复
bluemoon0001 2004-10-22
#define counter_width 40
#define counter_height 16
static unsigned char counter_bits[]={0xff,0xff,0x00,0xff,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0xff,0x00,0xff,0xff};

把上面这些内容保存为yyyy.xbm的文件,用IE打开这个文件看一下,呵呵。
回复
ayun00 2004-10-22
汗 我也解释不清楚
回复
honghe1 2004-10-21
to: btut2004(《电子产品世界》程序员csdn:csdn@210.51.190.132)

楼上可以把相关的代码贴出来让大家分享一下啊.

to:楼主

x-xbitmap第一次听到,楼主可以讲解一下吗.
回复
ayun00 2004-10-21
up
回复
张海霖 2004-08-10
我只知道那别人的代码来用,不知道原理
回复
相关推荐
发帖
ASP
创建于2007-09-28

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
帖子事件
创建了帖子
2004-08-10 10:41
社区公告
暂无公告