Иногда требуется наложить текст на картинку средствами php. Например для подтверждения регистрации, генерации паспорта пользователя и другого.
Следующий код позволяет наложить текст на jpg файл, а затем сохраняет полученную картинку.
<?php
$img="images/bilet.jpg";
$pic = ImageCreateFromjpeg($img); //открываем рисунок в формате JPEG
Header("Content-type: image/jpeg"); //указываем на тип передаваемых данных
$color=ImageColorAllocate($pic, 250, 0, 0); //получаем идентификатор цвета
/* определяем место размещения текста по вертикали и горизонтали */
$h = 260; //высота
$w = 220; //ширина
/* выводим текст на изображение */
ImageTTFtext($pic, 26, 0, $w, $h, $color, "Times", "Simona");
ImageTTFtext($pic, 26, 0, $w-50, $h+65, $color, "Times", time());
Imagejpeg($pic,"images/".time().".jpg"); //сохраняем рисунок в формате JPEG
ImageDestroy($pic); //освобождаем память и закрываем изображение
?>
Место размещения текста подбирается эксперементально.
ВНИМАНИЕ!!! Параметр «Times» указывает на шрифт, который скорее всего в юникс системе надо будет указать явно. Т.е. вместо «Times» указать «path/name.ttf».
Пример: ImageTTFtext($pic, 26, 0, $w, $h, $color, «verdana.ttf», «Simona»);