All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
精通数据库系列之入门-技巧篇4_mssql学习_编程技术
初学者接触HTML了解一些HTML标记(2)_[Html教程]
.NET内置对象之Response对象_[Asp.Net教程]
使用PHP程序来保护你的flash作品_php资料_编程技术
如何实现HTML页面地址栏参数传递与获取_JavaScript技术_编程技术
为什么PHP令人不爽(对于大型系统)_php资料_编程技术
Login控件也可添加图文验证码_[Asp.Net教程]
SQL数据库高级教程:SQL ALTER TABLE_[SQL Server教程]
delphi单选分组框组件(TRadioGroup)使用实例
C#网络应用编程基础练习题与答案(十)_[Asp.Net教程]
Reading number is top 10 pictures
红楼梦金陵十二钗(1)
美女挤公交
美女就是美女
Distribution of wealth in China survey status report
From China fortress sora aoi5
photos of ashlynn brooke(ashlynn brooke的美图)
Ashlynn Brooke show proud chest measurement2
俄罗斯台球天后惊艳魅惑2
Sora aoi in China3
Absolutely shocked. National geographic 50 animal photographys1
Download software ranking
圣殿祭司的ASP.NET.2.0.开发详解-使用C#
Boxer's Top ten classic battle9
dreamweaver8中文版
Call Of Duty5
Unix video tutorial12
C#COM编程指南
Proficient in JavaScript
White deer villiage
Tram sex maniac 2 (H) rar bag3
Boxer's Top ten classic battle7
delv published in(发表于) 2014/1/23 3:14:58 Edit(编辑)
无刷新仿google波形扭曲彩色Asp.net验证码_[Asp.Net教程]

无刷新仿google波形扭曲彩色Asp.net验证码_[Asp.Net教程]

无刷新仿google波形扭曲彩色Asp.net验证码_[Asp.Net教程]

网上关于Asp.net验证码的示例是在不少,前一段时间我发布的《51aspx实现的Asp.net无刷新中文验证码》受到了广大网站的转载,但是关于其中无刷新及波形扭曲的文章寥寥无几,示例也几乎难寻,于是我搜集了一些资料写了一个示例免费提供给大家,主要特点如下:

效果图:


无刷新:也就是一般网站都有的“看不清,点击更换”、“更换验证码”的那种功能,一段js脚本搞定!
波形扭曲:类似google验证码,这个能更有效的防止验证码被机器人攻破,具体的扭曲程度可以自行设置(正弦曲线Wave扭曲图片产生波形滤镜效果),加加参数也可以改成msn的那种啊,自己举一反三吧!


彩色:字符颜色都是随机的
大小写:也是随机的,当然为了输入方便没有对大小写进行限制,也可以自己修改哦
注释详细:各个参数都有很详细的说明,容易上手


为了显示扭曲效果,默认字体大小为40像素,可以自行修改

关于扭曲的源码:


1 /**////


2 /// 正弦曲线Wave扭曲图片(Edit By 51aspx.com)
3 ///

4 /// 图片路径
5 /// 如果扭曲则选择为True
6 /// 波形的幅度倍数,越大扭曲的程度越高,一般为3
7 /// 波形的起始相位,取值区间[0-2*PI)
8 ///
9 public System.Drawing.Bitmap TwistImage(Bitmap srcBmp, bool bXDir, double dMultValue, double dPhase)
10 {
11 System.Drawing.Bitmap destBmp = new Bitmap(srcBmp.Width, srcBmp.Height);
12
13 // 将位图背景填充为白色
14 System.Drawing.Graphics graph = System.Drawing.Graphics.FromImage(destBmp);
15 graph.FillRectangle(new SolidBrush(System.Drawing.Color.White), 0, 0, destBmp.Width, destBmp.Height);
16 graph.Dispose();
17
18 double dBaseAxisLen = bXDir ? (double)destBmp.Height : (double)destBmp.Width;
19
20 for (int i = 0; i < destBmp.Width; i++)
21 {
22 for (int j = 0; j < destBmp.Height; j++)
23 {
24 double dx = 0;
25 dx = bXDir ? (PI2 * (double)j) / dBaseAxisLen : (PI2 * (double)i) / dBaseAxisLen;
26 dx += dPhase;
27 double dy = Math.Sin(dx);
28
29 // 取得当前点的颜色
30 int nOldX = 0, nOldY = 0;
31 nOldX = bXDir ? i + (int)(dy * dMultValue) : i;
32 nOldY = bXDir ? j : j + (int)(dy * dMultValue);
33
34 System.Drawing.Color color = srcBmp.GetPixel(i, j);
35 if (nOldX >= 0 && nOldX < destBmp.Width
36 && nOldY >= 0 && nOldY < destBmp.Height)
37 {
38 destBmp.SetPixel(nOldX, nOldY, color);
39 }
40 }
41 }
42
43 return destBmp;
44 }
45


关于无刷新的问题我找了很多文章都很复杂,后来想到了一个简单的办法


onclick="this.src=this.src+'?'" />


一段js代码搞定,不知道其他人是不是还有什么高见?欢迎交流

示例源码下载

来源:liudao.cnblogs.com







添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.