请选择 进入手机版 | 继续访问电脑版
繁体中文

巅峰霸主

 找回密码
 立即注册

QQ登录

只需一步,快速开始

修改ECshop验证码的背景和字体方法详解

[复制链接]
烈火大地 发表于 2017-12-28 21:49:29 | 显示全部楼层 |阅读模式
ecshop默认的验证码太难看了,把ecshop验证码的背景和字体修改为想要的,换个好看验证码。首先做两个图片背景为白色(因为我做的验证码的背景是纯白色的,你也可以改成你想用的背景色,记住一个图片要做两张,一个gif,一个jpg) 宽高为145px*20px,的jpg、gif文件命名为captcha_bg6.jpg,captcha_bg6.gif,放到data/captcha 目录下,然后给验证码找一个字体,我用的是 arial.ttf 这个,把这个字体文件也放到data/captcha 目录下,下面开始修改  includes/cls_captcha.php 文件,找到第49行
  1. var $themes_jpg = array(  
  2.         1 => array('captcha_bg1.jpg', 255, 255, 255),  
  3.         2 => array('captcha_bg2.jpg', 0, 0, 0),  
  4.         3 => array('captcha_bg3.jpg', 0, 0, 0),  
  5.         4 => array('captcha_bg4.jpg', 255, 255, 255),  
  6.         5 => array('captcha_bg5.jpg', 255, 255, 255),  
  7.     );  
  8.   
  9.     var $themes_gif = array(  
  10.         1 => array('captcha_bg1.gif', 255, 255, 255),  
  11.         2 => array('captcha_bg2.gif', 0, 0, 0),  
  12.         3 => array('captcha_bg3.gif', 0, 0, 0),  
  13.         4 => array('captcha_bg4.gif', 255, 255, 255),  
  14.         5 => array('captcha_bg5.gif', 255, 255, 255),  
  15.     );  
复制代码


修改为:
  1. var $themes_jpg = array(  
  2.         1 => array('captcha_bg6.jpg', 16, 138, 205),  
  3.         2 => array('captcha_bg6.jpg', 46, 46, 46),  
  4.         3 => array('captcha_bg6.jpg', 176, 46, 56),  
  5.         4 => array('captcha_bg6.jpg', 18, 18, 18),  
  6.         5 => array('captcha_bg6.jpg', 248, 3, 0),  
  7.     );  
  8.   
  9.     var $themes_gif = array(  
  10.         1 => array('captcha_bg6.gif', 16, 138, 205),  
  11.         2 => array('captcha_bg6.gif', 46, 46, 46),  
  12.         3 => array('captcha_bg6.gif', 176, 46, 56),  
  13.         4 => array('captcha_bg6.gif', 18, 18, 18),  
  14.         5 => array('captcha_bg6.gif', 248, 3, 0),  
  15.     );
复制代码


这段代码中的

红色部分是验证码的颜色,你也可以改成你喜欢的颜色,然后找到这一句
  1. imagestring($img_org, 5, $x, $y, $word, $clr);  
复制代码


替换为:
  1. ImageTTFText($img_org, 15, rand(0, 10), 25, 25, $clr, "data/captcha/arial.ttf", $word);  
复制代码

这里面的15 是字号,25,25, 是验证码在图片上的位置, data/captcha/arial.ttf 这个是验证码字体的位置。
修改到这里之后验证码的样式是这样的

没有噪点和线条,下面我们来为验证码添加噪点和线条,在
  1. ImageTTFText($img_org, 15, rand(0, 10), 25, 25, $clr, "data/captcha/arial.ttf", $word);
复制代码

这句之后添加
  1. for($i=0; $i<3; $i++)   
  2.             {   
  3.             // 画线   
  4.             imageline($img_org, 0, rand(0, 20), rand(70,100), rand(0, 20), $clr);   
  5.             }   
  6.             $t = imagecolorallocate($img_org, rand(0, 255),rand(0, 255),rand(0, 255));   
  7.             // 为图片添加噪点   
  8.             for($i=0; $i<200; $i++)   
  9.             {   
  10.             imagesetpixel($img_org, rand(1, 100), rand(1, 30), $t);   
  11.             }  
复制代码

然后就大功告成了,如果不想要噪点的话,可以把

  1. // 为图片添加噪点   
  2.             for($i=0; $i<200; $i++)   
  3.             {   
  4.             imagesetpixel($img_org, rand(1, 100), rand(1, 30), $t);   
  5.             }  
复制代码


这段代码去掉即可。


这里修改之后后台验证码会显示不出来,具体原因还没找到,目前的解决方法是把后台的验证码取消掉。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|巅峰霸主 ( 京ICP备12023415号-2 )

JS of wanmeiff.com and vcpic.com Please keep this copyright information, respect of, thank you!JS of wanmeiff.com and vcpic.com Please keep this copyright information, respect of, thank you!

声明:本站的任何信息和内容仅代表作者的立场和观点,与巅峰霸主网无关。

禁止在巅峰霸主网发布任何与《中华人民共和国法律》相抵触的言论!

GMT+8, 2018-6-21 06:34 , Processed in 0.126260 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表