zoukankan      html  css  js  c++  java
  • 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. 不能自由设置图片中字的曲度

    解决办法

    明天更新。

  • 相关阅读:
    Cordova4.0 系列 -- 基本环境搭建(1)
    随便写写2015创业记(三)
    有哪些好用的数据分析工具?
    文字检测识别系统好用吗?都针对什么进行识别?
    用户奖励体系有哪些反作弊的机制?
    1月第2周业务风控关注|“扫黄打非”部门查处互动作业、纳米盒等20多个学习类App
    一个docker容器中运行多个服务还是弄一堆docker容器运行?
    手机app有了短信验证码还有没必要有图片验证码?
    2019年微服务实践第一课,网易&谐云&蘑菇街&奥思技术大咖深度分享
    1月第1周业务风控关注| 国家网信办启动专项行动 剑指12类违法违规互联网信息
  • 原文地址:https://www.cnblogs.com/mybest/p/2105601.html
Copyright © 2011-2022 走看看