利用ASPJPEG组件生成中文验证码
来源:互联网 发布:java中instanceof用法 编辑:程序博客网 时间:2024/05/17 10:55
因为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 '输出图片
%>
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 '输出图片
%>
- 利用ASPJPEG组件生成中文验证码
- 利用ASPJPEG组件生成中文验证码
- ASPJPEG asp上传图片生成缩阅图组件
- AspJpeg组件,按宽高比例,真正生成缩略图
- aspjpeg组件
- 用AspJpeg组件,按宽高比例,真正生成缩略图
- 用AspJpeg组件,按宽高比例,真正生成缩略图
- ASP.NET 2.0 调用ASPJpeg组件生成文字水印
- ASP.NET 2.0 调用ASPJpeg组件生成文字水印
- ASP.NET 2.0 调用ASPJpeg组件生成文字水印
- kaptcha组件生成验证码
- Aspjpeg组件下载安装
- aspjpeg组件的应用
- aspjpeg组件安装使用
- aspjpeg组件安装
- 调用aspjpeg组件实例
- AspJpeg组件过期解决方法
- 利用Servlet生成验证码
- 如何把握进入一个企业的关键时机---如何选择你的座驾
- 传智播客 学习C#基础第二课
- 个人发展战略选择秘籍(风险投资总监,15年人生感悟的经典之作)
- 多个线程访问共享对象和数据的方式
- apk自我保护的一种实现方式——运行时自篡改dalvik指令
- 利用ASPJPEG组件生成中文验证码
- jad 反编译 文件夹
- ClientToScreen 和ScreenToClient 用法
- 从 FingBugs的错误来看JAVA代码质量
- flex创建hashMap
- 数字分页
- GetWindowRect、GetClientRect、ScreenToClient与ClientToScreen
- C# GUID 知识点
- 在Lenovo的Y430上安装Ubuntu,用nomodeset解决soft lockup