@lefshik
JS/PHP dummies

Почему не возвращается PNG-картинка?

Почему не возвращается картинка с введенным слово из строки? Пишет, что Fatal error: Uncaught Error: Call to undefined function imagecreatefrompng(), но понимаю почему так. Код взят из книги

<?php
if (isset($_GET['message'])) {
    // Загрузка шрифта и изображения, вычисление ширины текста
    $font = dirname(__FILE__) . '/fonts/blazed.ttf';
    $size = 12;
    $image = imagecreatefrompng("button.png");
    $tsize = imagettfbbox($size, 0, $font, $_GET['message']);
    // Определение центра
    $dx = abs($tsize[2] - $tsize[0]);
    $dy = abs($tsize[5] - $tsize[3]);
    $x = (imagesx($image) - $dx) / 2;
    $y = (imagesy($image) - $dy) / 2 + $dy;
    // Вывод текста

    $im = 0;
    $black = imagecolorallocate($im,0,0,0);
    imagettftext($image, $size, 0, $x, $y, $black, $font, $_GET['message']);
    // Возврат изображения
    header("Content-type: image/png");
    imagepng($image);
    exit;
} ?>
<html lang="en">
<head>
    <title>Button Form</title>
</head>

<body>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="GET">
    Enter message to appear on button:
    <label>
        <input type="text" name="message" />
    </label><br />
    <input type="submit" value="Create Button" />
</form>
</body>
</html>
  • Вопрос задан
  • 81 просмотр
Решения вопроса 1
toxa82
@toxa82
Скорее всего у вас не установлен модуль gd2 (или просто gd в php8)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы