imagestring($im,$size,(10+$i*15),$str,$authnum,imagecolorallocate($im,rand(0,130),rand(0,130),rand(0,130)));
  } 这段代码显示的是5号字体的验证码,如果想要验证码的字体再大些,该如何修改呢

解决方案 »

  1.   

    imagestring()中的$size变量代指的就是字体大小  这个方法内置的字号只有1/2/3/4/5五种你可以使用imagettftext()函数代替  用法如下:
    array imagettftext ( resource image, float size, float angle, int x, int y, int color, string fontfile, string text )
    float size代表字号,根据 GD 版本不同,应该以像素大小指定(GD1)或点大小(GD2)。 具体可以参照如下示例:
    <?php
    // Set the content-type
    header("Content-type: image/png");// Create the image
    $im = imagecreatetruecolor(400, 30);// Create some colors
    $white = imagecolorallocate($im, 255, 255, 255);
    $grey = imagecolorallocate($im, 128, 128, 128);
    $black = imagecolorallocate($im, 0, 0, 0);
    imagefilledrectangle($im, 0, 0, 399, 29, $white);// The text to draw
    $text = 'Testing...';
    // Replace path by your own font path
    $font = 'arial.ttf';// Add some shadow to the text
    imagettftext($im, 20, 0, 11, 21, $grey, $font, $text);// Add the text
    imagettftext($im, 20, 0, 10, 20, $black, $font, $text);// Using imagepng() results in clearer text compared with imagejpeg()
    imagepng($im);
    imagedestroy($im);
    ?>