Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > PHP: Общие вопросы > Определение размеров текста |
Автор: Elfet 8.8.2005, 14:01 |
Юзверь пишет какой-то текст, выбираеть какой-то шрифт, а мне нужно ровно разместить его на картинке. Размеры картинки я знаю, а вот как определить размеры получающегося текста? ![]() |
Автор: Akina 8.8.2005, 14:17 | ||
Берем API-шную TextWidth, сообщаем ей строку и параметры шрифта, а она в ответ - его ширину... отцентрировать уж как-нить сам...
|
Автор: Akina 8.8.2005, 14:27 |
Тьфу, черт, это же PHP! ... ну посмотри swftext->getwidth() и swffont->getwidth() |
Автор: Irokez 8.8.2005, 14:34 |
какая библиотека то? если GD, то: http://php.net/imagettfbox |
Автор: Mal Hack 8.8.2005, 14:46 | ||
Akina 5 баллов ![]()
Это для ShokWare вроде как... Я думаю тут просто надо воспользоваться: http://php.rinet.ru/manual/en/function.imagefontwidth.php, т.к. доступа к канве в ПХП - нет. А лучше http://php.rinet.ru/manual/en/function.imageftbbox.php (смотри в комменты). Добавлено @ 14:47 Эх, Ирокез опередил ![]() |
Автор: S.A.P. 8.8.2005, 15:00 |
Так если ему надо уместить шрифт в рамки, знать размер текста не достаточно. Могу ошибаться, но можно попробовать нарисовать текст на прозрачном фоне, сжать его и перетащить на картинку c помощью imageCopyResized(). |
Автор: Irokez 8.8.2005, 15:13 | ||
изврат ![]() |
Автор: S.A.P. 8.8.2005, 15:19 | ||||
![]()
![]() |
Автор: Irokez 8.8.2005, 16:59 | ||
неа ![]() |
Автор: Mal Hack 8.8.2005, 17:03 |
Perchilla у обоих функций есть параметр size - разсер шрифта. Мы выясняем сколько занимает текст в дефолтном варианте. Затем находим разницу по координатам и делаем соответствующее уменьшение размера шрифта уже когда пишем текст на нужной картинки черех http://php.rinet.ru/manual/en/function.imagefttext.php поэтому смысла использовать CopyResampled нету. |