Macabre,
вот ещё так попробуй (+/-)
<?php
function generateImage($text) {
$text = wordwrap($text, 10, "\n");
// размер изображения
$img = imagecreatetruecolor(500, 300);
// цвет фона
$bg = imagecolorallocate($img, 0, 0, 0);
imagefilledrectangle($img, 0, 0, 150, 150, $bg);
// шрифт
$font = 'fonts/verdana.ttf';
// цвет текста
$black = imagecolorallocate($img, 255, 0, 0);
// вычисляем сколько места займёт текст
$bbox = imageftbbox(20, 0, $font, $text);
// вычисляем координаты для центрирования
$x = (imagesx($img) - $bbox[4])/2;
$y = (imagesy($img) - $bbox[5])/4;
// добавляем текст на изображение
imagefttext($img, 20, 0, $x, $y, $black, $font, $text);
// выводим изображение
$png = 'data:image/png;base64,'. base64_encode(imagepng($img));
// освобождаем память
imagedestroy($img);
return $png;
}
$string = 'Проверка, тест, проверка, тест';
echo '<img src="'. generateImage($string) .'">';