Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Создания текста в картинке

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: ...
Vlad_IT
Отправлено: 14 Сентября, 2012 - 01:04:38
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Сент. 2012  


Помог: 0 раз(а)




Доброй ночи. Такая проблема, над которой ломаю голову уже несколько часов. Нужно создать функцию, которая принимает три аргумента, текст, размер шрифта и семейство шрифта, то есть его имя. Требуется создать изображение с полученным текстом, который будет иметь полученный размер и имя шрифта, и сохранить его на сервере. Такое конечно реализовать не проблема, но проблема стоит в том, что нужно что-бы размер изображения был динамичный, то есть по ширине написанного текста, с учетом того что шрифт может быть разный. Помогите пожалуйста решить эту проблему.
 
 Top
DeertOff
Отправлено: 14 Сентября, 2012 - 04:09:15
Post Id



Гость


Покинул форум
Сообщений всего: 126
Дата рег-ции: Июль 2011  


Помог: 3 раз(а)




$arrRect = imageftbbox(размер шрифта, угол, файл шрифта, текст)

$arrRect[0] - нижняя левая x-координата
$arrRect[1] - нижняя левая y-координата
$arrRect[2] - нижняя правая x-координата
$arrRect[3] - нижняя правая y-координата
$arrRect[4] - верхняя правая x-координата
$arrRect[5] - верхняя правая y-координата
$arrRect[6] - верхняя левая x-координата
$arrRect[7] - верхняя левая y-координата

PHP:
скопировать код в буфер обмена
  1.  
  2. $text = 'Строка';
  3. $fontFile = 'font.ttf';
  4. // узнаём обрамляющий прямоугольник для строки
  5. $arrRect = imageftbbox(10, 0, $fontFile, $text);
  6. // создаём изображение по размерам прямоугольника
  7. $image = imagecreatetruecolor($arrRect[2] - $arrRect[0],
  8.                             -($arrRect[7] - $arrRect[1]));
  9. // создаём цвет для текста
  10. $black = imagecolorallocate($image, 0, 0, 0);
  11. // заливаем изображение белым
  12. imagefill($image, 0, 0, 0xffffff);
  13. // пишим текст
  14. imagefttext($image, 10, 0, $arrRect[6], -$arrRect[7], $black, $fontFile, $text);
  15. // создаём файл с картинкой "не обязательно png"
  16. imagepng($image, 'img.png');
  17. // удаляем изоброжение из памяти
  18. imagedestroy($image);
  19.  

(Отредактировано автором: 14 Сентября, 2012 - 05:45:59)

 
 Top
Vlad_IT
Отправлено: 14 Сентября, 2012 - 11:35:26
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Сент. 2012  


Помог: 0 раз(а)




DeertOff, это замечательно, то что нужно. Спасибо!
Тема закрыта!
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Графика в PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB