|
|
|
| Подскажите пожалуйста ,как выравнить по центру текст на изображение написаный шрифтом true type | |
|
|
|
|
|
|
|
для: shiling
(27.01.2006 в 09:59)
| | Только самому всё вычисляя... стандартных функций вроде как нет. | |
|
|
|
|
|
|
|
для: cheops
(27.01.2006 в 13:54)
| | Я на этом сайте видел :
http://wap.vvap.ru
Как самому?Ну для одного шрифта и слова можно,но не более...? | |
|
|
|
|
|
|
|
для: shiling
(27.01.2006 в 15:07)
| | Функция imagettfbbox вернет массив значений текста, которым пишите.
4 элемент ширина, 3 или 5 высота (не помню точно).
$ar_sz=imagettfbbox(размер шрифта в пунктах(например 12), 0, "имя файла шрифта", "текст который пишите");
$ar_sz[4]-ширина
ну а потом центрируйте в зависимости от ширины и высоты вашей картинки. | |
|
|
|
|
|
|
|
для: XPraptor
(27.01.2006 в 15:21)
| | Спасибо,но так я уже пытался,но [3]=5,а [5]=-18,а на самом деле высота 23 для одного шрифта,но стоит только изменть шрифт уункция выдает совершенно не закономерные значения и текст обрезает.
з.ы :ширину я брал равную а[3]-а[5],поскольку а[5] всегда минус (почему только?) -на - дают +,кароче лажа полная:( | |
|
|
|
|
|
|
|
для: 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);
}
} | |
|
|
|
|
|
|
|
для: 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:43)
| | Да,нет то что она возвращает я знаю,просто функция немного неудобная,кароче я путем подбора вроде сделал,пока что с теми шрифтами что есть все ок,всем спасибо!:) | |
|
|
|