改变Zend图像Captcha风格

时间:2011-05-06 05:41:54

标签: php zend-framework zend-form captcha

我有一个Zend形式的图像验证码

$captcha = new Zend_Form_Element_Captcha('captcha', array('captcha' => array(
    'captcha'   => 'Image',
    'label'     => 'Rasmdagi belgilarni kiriting',
    'required'  => true,
    'wordLen'   => 5,
    'width'     => 150,
    'height'    => 40,
    'timeout'   => 300,
    'fontSize'  => 32,
    'gcFreq'    => 5,
    'font'      => 'files/captcha/fonts/4.ttf',
    'imgDir'    => 'files/captcha/image',
    'imgUrl'    => '/files/captcha/image',
)));
$captcha->setIgnore(true);

我必须改变它的风格(背景)。

2 个答案:

答案 0 :(得分:2)

我相信你无法改变验证码图像的背景。它被硬编码到Zend_Captcha_Image中。您必须创建自己的验证码图像类,例如My_Captcha_Image通过扩展Zend_Captcha_Image并修改线条/线条图像的设置背景。

答案 1 :(得分:0)

是的,核心背景颜色是硬编码的,但你仍然可以改变它! 只需在核心文件中搜索 _generateImage 功能并更改背景的创建方式

例: 要更改背景颜色,请更改以下行:

  

$ bg_c​​olor = imagecolorallocate($ img,255,255,255);

  

$ bg_c​​olor = imagecolorallocate($ img2,255,255,255);