protected function doImage()
    {
        if($this->use_transparent_text == true || $this->bgimg != '' || function_exists('imagecreatetruecolor')) {
            $imagecreate = 'imagecreatetruecolor';
        } else {
            $imagecreate = 'imagecreate';
        }

        $this->im = $imagecreate($this->image_width, $this->image_height);

        if (function_exists('imageantialias')) {
            imageantialias($this->im, true);
        }

        $this->allocateColors();

        if ($this->perturbation > 0) {
            $this->tmpimg = $imagecreate($this->image_width * $this->iscale, $this->image_height * $this->iscale);
            imagepalettecopy($this->tmpimg, $this->im);
        } else {
            $this->iscale = 1;
        }

        $this->setBackground();

        $code = '';

        if ($this->getCaptchaId(false) !== null) {
            // a captcha Id was supplied

            // check to see if a display_value for the captcha image was set
            if (is_string($this->display_value) && strlen($this->display_value) > 0) {
                $this->code_display = $this->display_value;
                $this->code         = ($this->case_sensitive) ?
                                       $this->display_value   :
                                       strtolower($this->display_value);
                $code = $this->code;
            } elseif ($this->openDatabase()) {
                // no display_value, check the database for existing captchaId
                $code = $this->getCodeFromDatabase();

                // got back a result from the database with a valid code for captchaId
                if (is_array($code)) {
                    $this->code         = $code['code'];
                    $this->code_display = $code['code_disp'];
                    $code = $code['code'];
                }
            }
        }

        if ($code == '') {
            // if the code was not set using display_value or was not found in
            // the database, create a new code
            $this->createCode();
        }

        if ($this->noise_level > 0) {
            $this->drawNoise();
        }

        $this->drawWord();

        if ($this->perturbation > 0 && is_readable($this->ttf_file)) {
            $this->distortedCopy();
        }

        if ($this->num_lines > 0) {
            $this->drawLines();
        }

        if (trim($this->image_signature) != '') {
            $this->addSignature();
        }

        $this->output();
    }
protected function doImage()
    {
        if($this->use_transparent_text == true || $this->bgimg != '' || function_exists('imagecreatetruecolor')) {
            $imagecreate = 'imagecreatetruecolor';
        } else {
            $imagecreate = 'imagecreate';
        }

        $this->im = $imagecreate($this->image_width, $this->image_height);

        if (function_exists('imageantialias')) {
            imageantialias($this->im, true);
        }

        $this->allocateColors();

        if ($this->perturbation > 0) {
            $this->tmpimg = $imagecreate($this->image_width * $this->iscale, $this->image_height * $this->iscale);
            imagepalettecopy($this->tmpimg, $this->im);
        } else {
            $this->iscale = 1;
        }

        $this->setBackground();

        $code = '';

        if ($this->getCaptchaId(false) !== null) {
            // a captcha Id was supplied

            // check to see if a display_value for the captcha image was set
            if (is_string($this->display_value) && strlen($this->display_value) > 0) {
                $this->code_display = $this->display_value;
                $this->code         = ($this->case_sensitive) ?
                                       $this->display_value   :
                                       strtolower($this->display_value);
                $code = $this->code;
            } elseif ($this->openDatabase()) {
                // no display_value, check the database for existing captchaId
                $code = $this->getCodeFromDatabase();

                // got back a result from the database with a valid code for captchaId
                if (is_array($code)) {
                    $this->code         = $code['code'];
                    $this->code_display = $code['code_disp'];
                    $code = $code['code'];
                }
            }
        }

        if ($code == '') {
            // if the code was not set using display_value or was not found in
            // the database, create a new code
            $this->createCode();
        }

        if ($this->noise_level > 0) {
            $this->drawNoise();
        }

        $this->drawWord();

        if ($this->perturbation > 0 && is_readable($this->ttf_file)) {
            $this->distortedCopy();
        }

        if ($this->num_lines > 0) {
            $this->drawLines();
        }

        if (trim($this->image_signature) != '') {
            $this->addSignature();
        }

        $this->output();
    }
protected function doImage ( ) { if ( $ this -> use_transparent_text == true || $ this -> bgimg != '' || function_exists ( 'imagecreatetruecolor' ) ) { $ imagecreate = 'imagecreatetruecolor' ; } else { $ imagecreate = 'imagecreate' ; } $ this -> im = $ imagecreate ( $ this -> image_width , $ this -> image_height ) ; if ( function_exists ( 'imageantialias' ) ) { imageantialias ( $ this -> im , true ) ; } $ this -> allocateColors ( ) ; if ( $ this -> perturbation > 0 ) { $ this -> tmpimg = $ imagecreate ( $ this -> image_width * $ this -> iscale , $ this -> image_height * $ this -> iscale ) ; imagepalettecopy ( $ this -> tmpimg , $ this -> im ) ; } else { $ this -> iscale = 1 ; } $ this -> setBackground ( ) ; $ code = '' ; if ( $ this -> getCaptchaId ( false ) !== null ) { // a captcha Id was supplied // check to see if a display_value for the captcha image was set if ( is_string ( $ this -> display_value ) && strlen ( $ this -> display_value ) > 0 ) { $ this -> code_display = $ this -> display_value ; $ this -> code = ( $ this -> case_sensitive ) ? $ this -> display_value : strtolower ( $ this -> display_value ) ; $ code = $ this -> code ; } elseif ( $ this -> openDatabase ( ) ) { // no display_value, check the database for existing captchaId $ code = $ this -> getCodeFromDatabase ( ) ; // got back a result from the database with a valid code for captchaId if ( is_array ( $ code ) ) { $ this -> code = $ code [ 'code' ] ; $ this -> code_display = $ code [ 'code_disp' ] ; $ code = $ code [ 'code' ] ; } } } if ( $ code == '' ) { // if the code was not set using display_value or was not found in // the database, create a new code $ this -> createCode ( ) ; } if ( $ this -> noise_level > 0 ) { $ this -> drawNoise ( ) ; } $ this -> drawWord ( ) ; if ( $ this -> perturbation > 0 && is_readable ( $ this -> ttf_file ) ) { $ this -> distortedCopy ( ) ; } if ( $ this -> num_lines > 0 ) { $ this -> drawLines ( ) ; } if ( trim ( $ this -> image_signature ) != '' ) { $ this -> addSignature ( ) ; } $ this -> output ( ) ; }
The main image drawing routing, responsible for constructing the entire image and serving it
The main image drawing routing responsible for constructing the entire image and serving it