Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: текст на изображение

Сообщения:  [1-8] 

 
 автор: shiling   (27.01.2006 в 21:35)   письмо автору
 
   для: XPraptor   (27.01.2006 в 18:43)
 

Да,нет то что она возвращает я знаю,просто функция немного неудобная,кароче я путем подбора вроде сделал,пока что с теми шрифтами что есть все ок,всем спасибо!:)

   
 
 автор: XPraptor   (27.01.2006 в 18:43)   письмо автору
 
   для: XPraptor   (27.01.2006 в 18:40)
 

Тьфу, ты. Она не ширину, а координаты возвращает. Просто у меня правая координата равна ширине, вот и совпадает.
Вот массив значений, надеюсь с английским и с математикой все в порядке.
0 lower left corner, X position
1 lower left corner, Y position
2 lower right corner, X position
3 lower right corner, Y position
4 upper right corner, X position
5 upper right corner, Y position
6 upper left corner, X position
7 upper left corner, Y position

   
 
 автор: XPraptor   (27.01.2006 в 18:40)   письмо автору
 
   для: shiling   (27.01.2006 в 18:32)
 

Странно. :(
Я использую вот такой алгоритм для определения размера шрифта, чтобы вместить всю надпись на картинке от края до края.
Уменьшая постепенно шрифт, пока слово не влезет в размер картинки.
И пока ни одного сбоя не было.
Сейчас посмотрю в хэлпе какие значения принимает массив.

//код подбора размера шрифта, чтобы вместилась вся надпись
$fsz=12;
$w=250;
$ar_sz=imagettfbbox($fsz, 0, $fontname, $prtext);
if($ar_sz[4] > $w){
while($ar_sz[4] > $w){
$fsz--;
$ar_sz=imagettfbbox($fsz, 0, $fontname, $prtext);
}
}

   
 
 автор: shiling   (27.01.2006 в 18:32)   письмо автору
 
   для: XPraptor   (27.01.2006 в 15:21)
 

Спасибо,но так я уже пытался,но [3]=5,а [5]=-18,а на самом деле высота 23 для одного шрифта,но стоит только изменть шрифт уункция выдает совершенно не закономерные значения и текст обрезает.
з.ы :ширину я брал равную а[3]-а[5],поскольку а[5] всегда минус (почему только?) -на - дают +,кароче лажа полная:(

   
 
 автор: XPraptor   (27.01.2006 в 15:21)   письмо автору
 
   для: shiling   (27.01.2006 в 15:07)
 

Функция imagettfbbox вернет массив значений текста, которым пишите.
4 элемент ширина, 3 или 5 высота (не помню точно).

$ar_sz=imagettfbbox(размер шрифта в пунктах(например 12), 0, "имя файла шрифта", "текст который пишите");
$ar_sz[4]-ширина
ну а потом центрируйте в зависимости от ширины и высоты вашей картинки.

   
 
 автор: shiling   (27.01.2006 в 15:07)   письмо автору
 
   для: cheops   (27.01.2006 в 13:54)
 

Я на этом сайте видел :
http://wap.vvap.ru
Как самому?Ну для одного шрифта и слова можно,но не более...?

   
 
 автор: cheops   (27.01.2006 в 13:54)   письмо автору
 
   для: shiling   (27.01.2006 в 09:59)
 

Только самому всё вычисляя... стандартных функций вроде как нет.

   
 
 автор: shiling   (27.01.2006 в 09:59)   письмо автору
 
 

Подскажите пожалуйста ,как выравнить по центру текст на изображение написаный шрифтом true type

   

Сообщения:  [1-8] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования