PHP изображение не может быть отображено
Я пытаюсь создать динамическое изображение в php с некоторым текстом в нем, но он говорит, что изображение не может быть отображено, потому что он содержит ошибки. Вот мой код
<html>
<head>
</head>
<body>
<?php
$width = $_POST["width"];
$height = $_POST["height"];
$text = $_POST["text"];
$border = $_POST["border"];
$cornerangle = $_POST["angle"];
putenv('GDFONTPATH=' . realpath('.'));
header ('Content-Type: image/png');
$img = imagecreatetruecolor($width, $height);
$font = 'verdana';
$font_size = 20;
$angle = 45;
$text_box = imagettfbbox($font_size,$angle,$font,$text);
$text_width = $text_box[2]-$text_box[0];
$text_height = $text_box[3]-$text_box[1];
//coord text
$x = ($image_width/2) - ($text_width/2);
$y = ($image_height/2) - ($text_height/2);
$textcolor = imagecolorallocate($img,255,255,255);
imagettftext($img, $font_size, 0, $x, $y, $textcolor, $font, $text);
imagepng($img);
imagedestroy($img);
?>
</body>
</html>
У меня есть файл шрифта (verdana.ttf) в той же папке, что и мой файл php. Я пробовал $font = 'verdana.ttf'; и получил ту же ошибку.
1 ответ
Решение
Вы должны иметь шрифт на вашем веб-сервере и вызывать его.
$font = 'path/verdana.ttf';
Я проверил ваш код, и отлично работает на моем сервере.