如何改变噪声颜色让验证码更好识别?

因为修改时间很长了,昨天贴的时候太随意了,没写全代码。今天改正。不好意思,亲们。 研究了一下wc的验证码 总结:wc验证码难认主要有一下几个原因 1、背景噪声跟文本颜色一样,不好认。 2、文本经过算法改变了坐标和形状,不好认。 简单解决办法,思路:改变背景噪声颜色,使其与文本颜色区分。实际测试效果还可以。 #抛砖引玉: 一、找到文件

system/zend/capatch/image.php
二、在487行定义噪声,使其在浅色区域内随机显示颜色,与文本颜色分开,加入代码:
 $noise_color = imagecolorallocate($img, rand(100,200), rand(100,200), rand(100,200));
三、找到495行,代码如下,并将$text_color修改为$noise_color
 // generate noise
        for ($i=0; $i<$this->_dotNoiseLevel; $i++) {
           imagefilledellipse($img, mt_rand(0,$w), mt_rand(0,$h), 2, 2, $text_color);
        }
        for($i=0; $i<$this->_lineNoiseLevel; $i++) {
           imageline($img, mt_rand(0,$w), mt_rand(0,$h), mt_rand(0,$w), mt_rand(0,$h), $text_color);
        }
四、找到556行继续将$text_color修改为$noise_color
       // generate noise
        for ($i=0; $i<$this->_dotNoiseLevel; $i++) {
            imagefilledellipse($img2, mt_rand(0,$w), mt_rand(0,$h), 2, 2, $noise_color);
        }
        for ($i=0; $i<$this->_lineNoiseLevel; $i++) {
           imageline($img2, mt_rand(0,$w), mt_rand(0,$h), mt_rand(0,$w), mt_rand(0,$h), $noise_color);
        }
效果如下,附送快速注册弹出框效果:
QQ截图20140717130017.jpg
有兴趣的同学还可以修改后面算法。
    已邀请:
    楼主,我找不到这段代码,可否告知第几行?

    qg580 - 做您身边的情感专家

    哎哟,不错哦!

    LINK - 实习易| www.shixiyi.com

    能不能改成彩色的字体

    该问题目前已经被锁定, 无法添加新回复