Cheizer
@Cheizer

Как наложить текст на изображение с помощью PHP?

Друзья приветствую, есть интересный класс для наложения текста на изображения, тут о нем zinchenko.us/article/php-images-with-text

Вроде делаю все правильно? на странице index.php вызываю
include_once 'LImageHandler.php';
 
// Подключаем выбранный шрифт текста
$fontPath = 'fonts/MintTypeRistrettoProRegular.ttf';
 
// Путь к оригинальному изображению
$imagePath = 'images/original.jpg';
 
// Указываем размер шрифта 
$fontSize = 45;
 
// Задаем цвет текста
$color = array(255, 255, 255);
 
// Задаем цвет подложки
$backgroundColor = array(0, 0, 0);
 
// Создаем экземпляр класса LImageHandler
$ih = new LImageHandler;
 
// Загружаем изображение
$imgObj = $ih->load($imagePath);
 
// Выполняем наложение текста на изображение
$imgObj->textWithBackground('Генерация изображений с текстом', $fontPath, $fontSize, $color, $backgroundColor, LImageHandler::CORNER_CENTER_TOP, 0, 150, 0, 50, 10);
$imgObj->textWithBackground('Виктор Зинченко', $fontPath, 30, $color, $backgroundColor, LImageHandler::CORNER_RIGHT_BOTTOM, 50, 50, 0, 30, 10);
 
//show() выводим изображение на лету сразу в браузер
$imgObj->show(false, 100);


и потом сразу ниже пытаюсь вывести изображение так


В php на уровне классов не силен, и на странице выводится черный экран, или вся страница текстом в крякозябрах, класс работает, но я не правильно мне кажется получаю изображение, как грамотно вывести изображение с текстом в моем случае? Подскажите пожалуйста, крыша уже едет :(
  • Вопрос задан
  • 7921 просмотр
Пригласить эксперта
Ответы на вопрос 2
@ya_yshel_rabotati_v_teleg
<?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); //освобождаем память и закрываем изображение
?>
Ответ написан
Если Вам нужно вывести русский(кирилический) текст на изображении которое геренируется с помощью языка информацию можно найти по ссылке blog.ivru.net/?id=189
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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