最新和最完整的PHP生产验证代码详细信息(推荐)

最新和最完整的PHP生产验证代码详细信息(推荐)
1首先看代码

< PHP
标题(内容类型文本/ HTML;字符集= utf -); / /套编码风格的页面
页眉(内容类型:图像);注意浏览器输出是jpeg格式的图像。
$ img =新建一个真彩色图像(,); / /创建画布设置X轴Y轴的尺寸
背景颜色= imagecolorallocate美元(美元IMG,mt_rand(、)、(mt_rand,mt_rand),(,)); / /分布的背景颜色
imagefill(IMG美元美元,背景颜色); / / / /填充图像背景
imagejpeg($ IMG); / /输出图像
销毁一图像($ IMG); / /破坏形象
>
现在,把上面的代码结合起来分析和分析上面用到的几个函数
(1)新建一个真彩色图像();
新建一个真彩色图像,创建一个真正的彩色图像(感觉哇,这么长时间,其实仔细看的话,记得图像/创建/真的/彩色,真彩色图像是什么往下看.

资源新建一个真彩色图像(int int美元美元的宽度,高度)
新建一个真彩色图像的两个函数()和()都可以创造油画画面欣赏

资源画面欣赏(int int x_size美元,美元y_size)
新建一个真彩色图像()创建一个大小为X和Y的黑色图像(默认是黑色{即使它被称为真彩色图像)},如果我们想改变背景颜色,我们需要改变背景颜色。

使用填充颜色的功能imagefill($ IMG,0,0,合色);
画面欣赏,创造一个新的空白图像资源,加上imagecolorallocate背景颜色()
上述两个函数只是函数的两种方法
(2)imagecolorallocate();
imagecolorallocate为图像指定颜色

国际imagecolorallocate(资源为图像,int int美元美元的红色,绿色,蓝色为美元)
随着这些参数的RGB颜色组合的颜色是一个0到255或十六进制整数0x00到0xFF。

(3)mt_rand();
mt_rand产生更好的随机数

mt_rand(int int int max min美元,美元)
$分钟可选,返回最小值(默认:0)$最大可选,返回最大值(默认:mt_getrandmax())

这是让他随机生成的背景色,0-255的随机值。所以页面不刷新画布背景颜色是不同的。设计素描 uff1a
2启动干扰线、干扰点,防止验证图像被二次识别

< PHP
标题(内容类型:文本/ HTML;字符集= utf -); / /套编码风格的页面
页眉(内容类型:图像);注意浏览器输出是jpeg格式的图像。
$ img =新建一个真彩色图像(,); / /创建画布设置X轴Y轴的尺寸
背景颜色= imagecolorallocate美元(美元IMG,mt_rand(、)、(mt_rand,mt_rand),(,)); / /分布的背景颜色
添加干扰线和周期时间,随机背景色
对于($ i =;$ i <;$ + +){
颜色= imagecolorallocate美元(美元IMG,mt_rand(,),mt_rand(,),mt_rand(,));
imageline($ IMG,mt_rand(,),mt_rand(,),mt_rand(,)、(,)、mt_rand美元的颜色);
}
添加干扰和周期时间,随机背景色
对于($ i =;$ i <;$ + +){
分别为imagecolorallocate美元(美元IMG,mt_rand(,),mt_rand(,),mt_rand(,));
imagesetpixel($ IMG,mt_rand(,)、(,),分别mt_rand美元);
}
imagefill(IMG美元美元,背景颜色); / / / /填充图像背景
imagejpeg($ IMG); / /输出图像
销毁一图像($ IMG); / /破坏形象
>
功能分析:
(1)imageline();
imageline绘制线段

布尔imageline(资源为图像,int int美元美元X1,Y1,int int美元美元x2,y2)
imageline()使用的颜色在图像的坐标X1画一条线,Y1到x2,y2(图像的左上角的是0, 0)。

imageline($ IMG,mt_rand(0150),mt_rand(0.5),mt_rand(0150),mt_rand(0.5美元),颜色),这意味着从坐标X1,$ IMG随机,在画布上为IMG。

(2)imagesetpixel();
imagesetpixel -绘制单个像素

布尔imagesetpixel(资源为图像,int x美元,int Y元,int $颜色)
Imagesetpixel()使用的颜色在图像上画一个点的x,y坐标(图像的左上角的是0, 0)。

imagesetpixel($ IMG,mt_rand(0150),mt_rand(0,60),$分别具体含义同上);
设计素描 uff1a

3添加验证字母数字

< PHP
标题(内容类型:文本/ HTML;字符集= utf -); / /套编码风格的页面
页眉(内容类型:图像);注意浏览器输出是jpeg格式的图像。
$ img =新建一个真彩色图像(,); / /创建画布设置X轴Y轴的尺寸
背景颜色= imagecolorallocate美元(美元IMG,mt_rand(、)、(mt_rand,mt_rand),(,)); / /分布的背景颜色
添加干扰线和周期时间,随机背景色
对于($ i =;$ i <;$ + +){
颜色= imagecolorallocate美元(美元IMG,mt_rand(,),mt_rand(,),mt_rand(,));
imageline($ IMG,mt_rand(,),mt_rand(,),mt_rand(,)、(,)、mt_rand美元的颜色);
}
添加干扰和周期时间,随机背景色
对于($ i =;$ i <;$ + +){
分别为imagecolorallocate美元(美元IMG,mt_rand(,),mt_rand(,),mt_rand(,));
imagesetpixel($ IMG,mt_rand(,)、(,),分别mt_rand美元);
}
添加验证字母或数字的需要
rand_str美元=qwertyuiopasdfghjklzxcvbnm ; / /需要用一些字母和数字认证
str_arr美元=(阵列); / /数组名
($ i =;$ i;$);循环,有四个随机字母或数字
POS = mt_rand美元(,strlen($ rand_str)-);
str_arr美元{ } = $ rand_str { $ POS }; / /临时交换
}
x_start美元= / / /;单个字符的位置
foreach(str_arr美元美元关键){
字体颜色= imagecolorallocate美元(美元IMG,mt_rand(,),mt_rand(,),mt_rand(,));
imagettftext($ IMG,mt_rand(-),x_start美元,美元/,字体颜色,C: / / / Windows字体宋体。TTF
= $ / / x_start;后序遍历沿X轴+单字符
}
imagefill(IMG美元美元,背景颜色); / / / /填充图像背景
imagejpeg($ IMG); / /输出图像
销毁一图像($ IMG); / /破坏形象
>
功能:
Imagettftext();
imagettftext在TrueType字体的图像文字

阵列(资源imagettftext美元浮动图像,美元浮动美元大小,角度,int x美元,int Y元)。
分析以下代码:
imagettftext($ IMG,25,mt_rand(- 15,15),x_start美元,50美元/ 2,字体颜色,C: / / / Windows字体宋体。TTF
虽然美元-----------帆布
这25 -----------字体大小。
mt_rand(- 15,15),从左到右读课文0度角点系统。值越高,代表逆时针旋转90度。例如,代表文本读起来。(它的字体,角度的问题)
x_start美元----------很容易理解是角色的X轴的位置
的50 / 2 ----------字符高度
美元----------字符颜色字体颜色
到C的路径: / / / verdana.ttf Windows字体字体字
关键-----------穿越后人物美元
uff1a效应

以上是完整描述最新最完整的php生产验证码代码详解(建议),希望对您有所帮助!

免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部