资源描述:
《修改ecshop验证码的背景和字体》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、修改ECshop验证码的背景和字体(1)首先做两个图片背景为白色(因为我做的验证码的背景是纯白色的,你也可以改成你想用的背景色,记住一个图片要做两张,一个gif,一个jpg)宽高为145px*20px,的jpg、gif文件命名为captcha_bg6.jpg,captcha_bg6.gif,放到data/captcha目录下,然后给验证码找一个字体,我用的是quickend.ttf(百度可以下载)这个,把这个字体文件也放到data/captcha目录下,下面开始修改includes/cls_captch
2、a.php文件,找到第49行var$themes_jpg=array(1=>array('captcha_bg1.jpg',255,255,255),2=>array('captcha_bg2.jpg',0,0,0),3=>array('captcha_bg3.jpg',0,0,0),4=>array('captcha_bg4.jpg',255,255,255),5=>array('captcha_bg5.jpg',255,255,255),);var$themes_gif=array(1=>array
3、('captcha_bg1.gif',255,255,255),2=>array('captcha_bg2.gif',0,0,0),3=>array('captcha_bg3.gif',0,0,0),4=>array('captcha_bg4.gif',255,255,255),5=>array('captcha_bg5.gif',255,255,255),);修改成:var$themes_jpg=array(1=>array('captcha_bg6.jpg',16,138,205),2=>array
4、('captcha_bg6.jpg',46,46,46),3=>array('captcha_bg6.jpg',176,46,56),4=>array('captcha_bg6.jpg',18,18,18),5=>array('captcha_bg6.jpg',248,3,0),);var$themes_gif=array(1=>array('captcha_bg6.gif',16,138,205),2=>array('captcha_bg6.gif',46,46,46),3=>array('captc
5、ha_bg6.gif',176,46,56),4=>array('captcha_bg6.gif',18,18,18),5=>array('captcha_bg6.gif',248,3,0),);后面的数字是代表颜色值,可以自行修改。(2)然后找到imagestring($img_org,5,$x,$y,$word,$clr); 修改成:ImageTTFText($img_org,15,rand(0,10),25,25,$clr,"data/captcha/quickend.ttf",$word);PS
6、:这里面的15是字号,25,25,是验证码在图片上的位置,data/captcha/arial.ttf这个是验证码字体的位置。(3)没有噪点和线条,下面我们来为验证码添加噪点和线条,在ImageTTFText($img_org,15,rand(0,10),25,25,$clr,"data/captcha/quickend.ttf",$word);下面添加:for($i=0;$i<3;$i++){//画线imageline($img_org,0,rand(0,20),rand(70,100),rand(0
7、,20),$clr);}$t=imagecolorallocate($img_org,rand(0,255),rand(0,255),rand(0,255));//为图片添加噪点for($i=0;$i<200;$i++){imagesetpixel($img_org,rand(1,100),rand(1,30),$t);}我的没有添加划线,可以将下面这段for($i=0;$i<3;$i++){//画线imageline($img_org,0,rand(0,20),rand(70,100),rand(0,
8、20),$clr);}$t=imagecolorallocate($img_org,rand(0,255),rand(0,255),rand(0,255));删掉。注意:这里修改之后后台验证码会显示不出来,具体原因还没找到,目前的解决方法是把后台的验证码取消掉。是因为ImageTTFText($img_org,15,rand(0,10),25,25,$clr,"data/captcha/quickend.ttf",$word);这句中字体路