PHP font_size验证码

时间:2013-01-23 06:23:15

标签: php gd captcha

我尝试更改$font_size,但似乎无效。无论如何,它都保持不变。即使我将$font_size更改为130.它保持不变:

<?php
    header('Content-type: image/png');

    $rand_num = rand(1000, 9999);

    $font_size = 130;

    $image_width = 110;
    $image_height = 20;

    $image = imagecreate($image_width, $image_height);
    imagecolorallocate($image, 255, 255, 255);
    $black_color = imagecolorallocate($image, 0, 0, 0);

    imagestring($image, $font_size, 0, 0, $rand_num, $black_color);

    for($x=0; $x <= 30; $x++){
        $x1 = rand(1, 100); 
        $y1 = rand(1, 100);
        $x2 = rand(1, 100);
        $y2 = rand(1, 100);

        imageline($image, $x1, $y1, $x2, $y2, $black_color);
    }

    imagepng($image);
?>

3 个答案:

答案 0 :(得分:0)

根据PHP Manual,字体参数

  

对于latin2编码中的内置字体,可以是1,2,3,4,5(其中   更高的数字对应更大的字体)或任何你自己的字体   使用imageloadfont()注册的标识符。

所以你必须尝试1 2 3 4 5而不是130。

答案 1 :(得分:0)

对于内置字体,字体大小可以是1,2,3,4和5.请参阅http://php.net/manual/en/function.imagestring.php

答案 2 :(得分:0)

您可以使用imagettftext功能更改字体大小。

imagettftext($image, $font_size, $angle, $x, $y, $text_color, '$font-family', $text);

  $image is the $imagecreate function
  $font_size is the size of font you want.
  $angle is the angle of the fonts tilted
  $x and $y are coordinates.
  $text_color is the imagecolorallocate function
  $font-family is the family of font you want to use
  $text is the text or random text to be displayed