0

我正在使用 Zend_Form_Element_Captcha 创建验证码图像,如下所示:-

$captcha = new Zend_Form_Element_Captcha(
                   'captcha',
                    array(
                        'label' => 'Please write the characters you see in the image:',
                        'captcha' => array(
                                         'captcha' => 'Image',
                                         'wordLen' => 6,
                                         'timeout' => 900,
                                          'font' => '/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttf',

                                     )
                        )
    );

$form = new Zend_Form();

$form->addElement($captcha);

这是在创建验证码图像,但方式不正确。字母根本不可读。 这就是我得到的...

在此处输入图像描述

在此处输入图像描述

我也试图改变字体,但最终还是一样。有什么建议么 ?

4

2 回答 2

1

我已经在本地环境中尝试过您的代码。如果您使用的是 Windows,请使用以下代码。我使用字体的绝对路径。

$captcha = new Zend_Form_Element_Captcha(
                        'captcha',
                        array(
                            'label' => 'Please write the characters you see in the image:',
                            'captcha' => array(
                                'captcha' => 'Image',
                                'wordLen' => 6,
                                'timeout' => 900,
                                'font' => 'C:/Windows/Fonts/Arial.ttf',
                                'imgDir' => APPLICATION_PATH . '/../public/captcha/',
                                'imgUrl' => '/captcha/'
                            )
                        )
        ); 
于 2013-07-03T11:58:36.070 回答
0

试试这个

$captcha = new Zend_Form_Element_Captcha(
   'captcha',
    array(
        'label' => 'Please write the characters you see in the image:',
        'captcha' => array(
             'captcha' => 'Image',
             'wordLen' => 6,
             'timeout' => 900,
             'dotNoiseLevel' => 20,
             'lineNoiseLevel' => 3,
             'fontSize' => 25,
             'font' => '/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttf',

         )
        )
);
于 2013-02-16T08:35:45.077 回答