利用ASPJPEG组件生成中文验证码

  因为ASP与ASP.net无法共享Session,所以只能用ASP写,ASP没有自带的处理图片的组件,好在服务器支持ASPJPEG,所以写起来也比较容易。

  不过,运行起来有个小问题,就是不支持一些字体。只能默认使用宋体了。

Code.jpg文件下载(请点另键下载,并改名为Code.jpg)

下载Dv_GetCode.asp和Code.jpg文件压缩包

下面文件保存为Dv_GetCode.asp,并替换掉动网BBS上的Dv_GetCode.asp。 

文字部分,你可以替换成你自己喜欢的文字,如果是文言文更好,注意要把标点去掉,要不然验证码生成有标点符号的,很容易输入错误。

<
Response.Expires 
=   - 9999
Response.AddHeader 
" pragma " " no-cache "
Response.AddHeader 
" cache-ctrol " " no-cache "
Response.ContentType 
=   " image/bmp "
' 生成安全码的函数 
function  make_randomize(max_len,w_n) ' 生成长度,w_n:0 可能包含字母,1:只为数字 
     randomize  

    txt
= " 澄海义工社是由澄海茶座爱心小组发展而来澄海茶座爱心小组创建于年当时在E京澄海茶座论坛上由一群热心网友发起成立以网络为平台在网上发贴发动网友募捐善款开展助学救困活动经过几年的发展澄海茶座爱心小组也从一个网络组织走到了现实世界社会上众多的爱心人士纷纷投身到爱心活动中来他们中有机关干部普通打工者老师私企老板等等爱心小组严格遵循先调查落实情况再确定助学救困对象的原则使基金每一分每一厘都用到确实有实际困难需要救助的对象身上多年来通过澄海茶座爱心小组资助的对象遍及澄海各乡镇年开始澄海茶座爱心小组成员经过多番努力在澄海区进行爱心助学扶贫救急活动筹得善款近多万元资助贫困学生近多人并开展帮助学活动固定每月援助部分贫困学生家庭元使这些贫困学生得以继续学业为了使这支队伍更加健康的发展澄海茶座爱心小组正式更名为澄海爱心义工社成为一个正式的义工组织并以参与互助奉献进步作为义工社的宗旨计划在未来以扶贫助困跟助学两条线为主轴开展各种爱心活动并且将我们的爱心无限的延伸 "

    
' response.write 
    make_randomize = Mid (txt, Rnd * ( Len (txt) - max_len) + 1 ,max_len)
end function  
%
>  

< %
random_num
= make_randomize( 4 , 1 )    ' 生成4位的安全码 
randomize  

Session(
" GetCode " ) = random_num

Set  Jpeg  =  Server.CreateObject( " Persits.Jpeg " )    ' 调用组件 
Jpeg.Open Server.MapPath( " code.jpg " )    ' 打开准备的图片 


Jpeg.Canvas.Font.Rotation 
=  ( Rnd * 40 - 20 )
Jpeg.Canvas.Font.Color 
=  ( Rnd * 255 ) * 255 * 255 + 255 * 255 + ( Rnd * 255 )
Jpeg.Canvas.Font.Family 
=   " 宋体 "
Jpeg.Canvas.Font.Bold 
=   false  
Jpeg.Canvas.Font.Size 
=   14
Jpeg.Canvas.PrintText 
2 0 Mid (random_num, 1 , 1 )

Jpeg.Canvas.Font.Rotation 
=  ( Rnd * 40 - 20 )
Jpeg.Canvas.Font.Color 
=  ( Rnd * 255 ) * 255 * 255 + 255 * 255 + ( Rnd * 255 )
Jpeg.Canvas.Font.Family 
=   " 隶书 "
Jpeg.Canvas.Font.Bold 
=   false  
Jpeg.Canvas.Font.Size 
=   14
Jpeg.Canvas.PrintText 
20 0 Mid (random_num, 2 , 1 )

Jpeg.Canvas.Font.Rotation 
=  ( Rnd * 40 - 20 )
Jpeg.Canvas.Font.Color 
=  ( Rnd * 255 ) * 255 * 255 + 255 * 255 + ( Rnd * 255 )
Jpeg.Canvas.Font.Family 
=   " 宋体 "
Jpeg.Canvas.Font.Bold 
=   false  
Jpeg.Canvas.Font.Size 
=   14
Jpeg.Canvas.PrintText 
38 0 Mid (random_num, 3 , 1 )

Jpeg.Canvas.Font.Rotation 
=  ( Rnd * 40 - 20 )
Jpeg.Canvas.Font.Color 
=  ( Rnd * 255 ) * 255 * 255 + 255 * 255 + ( Rnd * 255 )
Jpeg.Canvas.Font.Family 
=   " 楷体 "
Jpeg.Canvas.Font.Bold 
=   false  
Jpeg.Canvas.Font.Size 
=   14
Jpeg.Canvas.PrintText 
54 0 Mid (random_num, 4 , 1 )


jpeg.SendBinary 
' 输出图片

%
>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值