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

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

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

那是怎样实现的?

...全文
235 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
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
  • 打赏
  • 举报
回复
我只知道那别人的代码来用,不知道原理

28,409

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧