Как добавить текст на JPG-изображение

Первым делом следует проверить, подключена ли у вас GD library, используя функцию:

phpinfo();

Если да, то продолжим.

Итак, нам понадобится всего лишь три файла: pic.jpg — это картинка, которую мы хотим исписать текстом, index.php — файл с HTML-кодом, который будет показывать картинку, img.php будет содержать php-код, добавляющий текст.

Так, с картинкой всё понятно, а вот что будет находиться в index.php:

<?php
	$name = 'Михаил Рудрастых';
?>
<img src="img.php?name=<?php echo urlencode($name) ?>" alt="" />

А теперь самое интересное, img.php:

// наше изображение
$img = ImageCreateFromJPEG("pic.jpg");
 
// определяем цвет, в RGB
$color = imagecolorallocate($img, 255, 0, 0);
 
// указываем путь к шрифту
$font = 'arial.ttf';
 
$text = urldecode($_GET['name']);
imagettftext($img, 24, 0, 365, 159, $color, $font, $text);
// 24 - размер шрифта
// 0 - угол поворота
// 365 - смещение по горизонтали
// 159 - смещение по вертикали
 
header('Content-type: image/jpeg');
imagejpeg($img, NULL, 100);

Поддержка кириллицы будет зависеть от выбранного шрифта.

Вот и всё, функцию imagettftext() в файле можно использовать по несколько раз, меняя параметры.

Миша Рудрастых Разработчик WordPress WooCommerce

Миша Рудрастых

Впервые познакомился с WordPress в 2009 году, и после двух лет мучений с Joomla и самописными движками это был просто бальзам на душу. С 2014 года меня можно встретить на WordCamp — официальной конфе по WP в Москве, иногда там выступаю. Также в настоящее время веду курсы по WordPress в Epic Skills в Питере.

Смотрите также