不知道大家有没有觉得,齐博默认的验证码看着总有点小气,效果不是那么正点。本来想直接参考其他程序的验证码函数重新写一下,但看过代码后发现齐博还有另外一种验证码样式效果。默认是简单,也就是后台验证码开启复杂模式,但换过以后也不是那么好看,线条和喷枪过多,一些眼神不好的人确实不容易分辨,那就在这个验证码的技术上做些修改,换个字体看下效果。
先看下改过的效果,不喜欢的话就不用看下面啦
1.INC/waterimage.php 查找"yz2img"函数,并用下面代码替换该函数(主要语句功能已做注释)
function yz2img($ck){ $im = imagecreate(65,30); imagecolorallocate($im,mt_rand(192,255),mt_rand(192,255),mt_rand(192,255)); $icol = imagecolorallocate($im,mt_rand(0,98),mt_rand(0,98),mt_rand(0,98)); //数字颜色 $scol = imagecolorallocate($im,mt_rand(0,98),mt_rand(0,98),mt_rand(0,98)); //字母颜色 for($i=0; $i < 2; $i++) { //$linecolor = imagecolorallocate($im, 17, 158, 20); //线条 $lefty = rand(1, 30-1); $righty = rand(1, 30-1); imageline($im, 0, $lefty, imagesx($im), $righty, $linecolor); } for($i=0;$i<strlen($ck);$i++) intval($ck{$i}) ? imagettftext($im,16, mt_rand(-10, 10), $i*16, mt_rand(15, 30),$icol, dirname(__FILE__).'/elephant.ttf', $ck{$i}) : imagettftext($im,16, mt_rand(-10, 10), $i*16, mt_rand(15, 30),$scol, dirname(__FILE__).'/elephant.ttf', $ck{$i}); //imagettftext($im, 16, -5, 12, 22, $scol, 'comic.ttf', $ck); for($i=0;$i<15;$i++) imagesetpixel($im,mt_rand(0,65),mt_rand(0,30),imagecolorallocate($im,mt_rand(0,255),mt_rand(0,255),mt_rand(0,255)));//喷枪 header("Content-type: image/jpeg"); header("Expires: -1"); header("Cache-Control: no-store, private, post-check=0, pre-check=0, max-age=0"); header("Pragma: no-cache"); imagejpeg($im); imagedestroy($im); }
2.上传elephant.ttf字体文件到inc目录下 (字体下载)
3.后台系统设置---全局参数设置----验证码复杂度设置 修改图片文字辨认复杂度:稍复杂
齐博验证码美化教程完毕。
版权声明:若无特殊注明,本文皆为( wjk1987 )原创,转载请保留文章出处。