我有以下代码块,它将输出验证码图像
$im = @imagecreatefromjpeg("captcha.jpg");
$rand = _generateRandom(3);
$_SESSION['captcha'] = $rand;
ImageString($im, 5, 2, 2, $rand[0]." ".$rand[1]." ".$rand[2]." ", ImageColorAllocate ($im, 23, 85, 160));
现在我想增加字体大小。我使用第二个参数为5。我知道我们只能使用1到5个。但我想增加\ font大小更多。我也想将字体更改为其他类似Arial或Verdana。如何做到这一点?提前致谢
答案 0 :(得分:6)
听起来你最好不要使用imagettftext
:
array imagettftext ( resource $image , float $size , float $angle , int $x , int $y , int $color , string $fontfile , string $text )
答案 1 :(得分:2)
另一个快速选项是在html代码中增加图像的大小。因此,如果您的captcha.php文件呈现50px宽的图像,请将其显示为100px宽。这不是理想的,但它是一个快速修复。
<img src="captcha.php" width="100">
答案 2 :(得分:1)
使用imagettftext()
功能。
$im = @imagecreatefromjpeg("captcha.jpg");
$rand = _generateRandom(3);
$_SESSION['captcha'] = $rand;
ImageString($im, $size, 0, 2, 2, ImageColorAllocate ($im, 23, 85, 160), $fontfile, $rand[0]." ".$rand[1]." ".$rand[2]." ");
其中$size
是字体大小,$fontfile
是包含TTF字体的文件。有关更多用法信息,请参阅PHP手册条目(上面链接)。