如何在PHP中只在图像上写文字?

时间:2012-03-18 18:31:26

标签: php image gd gd2

我想用一些文字制作“onfly”图像。有可能与PHP?我正在尝试使用这个,但没有输出可以让任何人看到我的代码吗?

function createCaptcha($string){
    $image = PATH_DIR . "blueprint/images/bg6.png";
    $text_vertical_position = 97;
    $font_size = 15;
    $color = '32a53d';
    Header ("Content-type: image/png");
    $color = convert_to_rgb($color);
    $info = GetImageSize($image);
    $width = $info[0];
    $height = $info[1];


    if (preg_match("/.gif/", $image)) {
        $image = imageCreateFromGif($image);
    } elseif (preg_match("/.png/", $image)) {
        $image = imageCreateFromPng($image);
    } elseif (preg_match("/.jpg/", $image)) {
        $image = imageCreateFromJpeg($image);
    } elseif (preg_match("/.jpeg/", $image)) {
        $image = imageCreateFromJpeg($image);
    }

    $imgcolor = ImageColorAllocate ($image, $color[0], $color[1], $color[2] );
    imagettftext($image, $font_size, 0, $start_length, $text_vertical_position,
                 $imgcolor, $font , $text);
    ImagePNG ($image);
    ImageDestroy ($image);
}

我正在使用codeigniter来实现它。

谢谢

1 个答案:

答案 0 :(得分:1)

似乎你在函数的参数中犯了一个错误:$string而不是$text

 imagettftext($image, $font_size, 0, $start_length, $text_vertical_position,
      $imgcolor, $font, $string);

PS。如果您使用验证码 - 如果没有任何额外的图像失真,它就不可靠。

为什么不使用现成的解决方案?

http://www.phpcaptcha.org/

http://www.captcha.ru/kcaptcha/