Zend_Captcha_Image使用及部分功能重写 基于zend Framework 1.6

在做之前,首先了解一下官方文档

Zend_Captcha_Image

Image 适配器使用生成的字符并解析为图像,并把它变换成难以自动解密。 它需要 » GD extension,使用 TrueType 或 Freetype 支持的编译。目前,Image 适配器只能产生 PNG 图像。

Zend_Captcha_Image 集成 Zend_Captcha_Word,并附加了下列方法:

    setExpiration(
$expiration ) 和 getExpiration() 指定 captcha 图像可以保留在文件系统 中的最大生命周期。一般长于会话的生命周期。每次调用 captcha 对象, 垃圾收集就运行一次,过期的图像就被清除。过期值以秒计。

    setGcFreq(
$gcFreq ) 和 getGcFreg() 指定垃圾收集运行的频度。每  1 / $gcFreq  垃圾收集就运行一次(缺省值为  100 )。

    setFont(
$font ) 和 getFont() 指定要用的字体。它是到字体文件的全路径。如果没有设置这个值,captcha 就在生成的时候抛出异常。字体是必需的。

    setFontSize(
$fsize ) 和 getFontSize() 指定字体尺寸,以象素为单位,用于生成 captcha。缺省值为 24px。

    setHeight(
$height ) 和 getHeight() 指定生成 captcha 图像的高度,以象素为单位。缺省值为 50px。

    setWidth(
$width ) 和 getWidth() 指定生成 captcha 图像的宽度,以象素为单位。缺省值为 200px 。

    setImgDir(
$imgDir ) 和 getImgDir() 指定 captcha 图像存储的目录。缺省为  " ./images/captcha/ "  ,相对于引导(bootstrap)脚本。

    setImgUrl(
$imgUrl ) 和 getImgUrl() 指定用于 HTML 标记语言的 captcha 图像的相对路径。 缺省为  " /images/captcha/ "

    setSuffix(
$suffix ) 和 getSuffix() 指定文件名后缀。缺省为  " .png "  。注:它的改变不影响产生的图像类型。

所有上述选项都可作为选项传递给构造器,只要去掉 
' set '  方法前缀并 把首字母变成小写:如  " suffix " 、  " height " " imgUrl "  等。

一般使用方法

$font_dir = realpath ( dirname ( __FILE__ . ' /http://www.cnblogs.com/www/font/simsun.ttc '  );
$im = new  zend_captcha_image( array (
                    
' font ' => $font_dir ,
                    
' fontSize ' => 14 ,
                    
' wordlen ' => 4 ,
                    
' height ' => 20 ,
                    
' width ' => 60
                ));            
        
$im -> generate();
return   $im -> getImgUrl() . $im -> getId() . $im -> getSuffix();

常见问题:

  1. 噪点,干扰线过多,有点看不清楚
  2. 不能规范图片内容
  3. 不能自由设置图片中字的曲度

解决办法

明天更新。

你可能感兴趣的:(framework)