Swoole\Image::verifycode_gd PHP Method

verifycode_gd() static public method

生成验证码使用GD
static public verifycode_gd ( $img_width = 80, $img_height = 30 ) : array
$img_width
$img_height
return array
    static function verifycode_gd($img_width = 80, $img_height = 30)
    {
        $code = strtoupper(RandomKey::string(self::$verifyCodeLength));
        $aimg = imageCreate($img_width, $img_height);
        //生成图片
        ImageColorAllocate($aimg, 255, 255, 255);
        //图片底色,ImageColorAllocate第1次定义颜色PHP就认为是底色了
        for ($i = 1; $i <= 128; $i++) {
            imageString($aimg, 1, mt_rand(1, $img_width), mt_rand(1, $img_height), "*", imageColorAllocate($aimg, mt_rand(200, 255), mt_rand(200, 255), mt_rand(200, 255)));
        }
        for ($i = 0; $i < strlen($code); $i++) {
            imageString($aimg, mt_rand(8, 12), $i * $img_width / 4 + mt_rand(1, 8), mt_rand(1, $img_height / 4), $code[$i], imageColorAllocate($aimg, mt_rand(0, 100), mt_rand(0, 150), mt_rand(0, 200)));
        }
        ob_start();
        ImagePng($aimg);
        $data = ob_get_clean();
        ImageDestroy($aimg);
        return array('code' => $code, 'image' => $data);
    }

Usage Example

示例#1
0
 function vcode()
 {
     $this->session->start();
     $this->http->header('Content-Type', 'image/jpeg');
     Swoole\Image::verifycode_gd();
 }
All Usage Examples Of Swoole\Image::verifycode_gd