2014-12-29 3 views
1

Я хочу, чтобы центрировать текст я добавить к моему образу с помощью:PHP imagettftext() текст центр

imagettftext($image, 85, 0, 250, 350, $color, $font, $txt); 

Я пытался что-то вроде этого:

$fontwidth1 = imagefontwidth($font); 
$center1 = (imagesx($image)/2) - ($fontwidth1*(strlen($txt)/2)); 

Однако, к сожалению, это не работает. imagefontwidth ($ шрифт) часть не работает :(

Любой столкнулся этот вопрос перед и знать, раствор/альтернативный метод?

+0

Можете ли вы быть более конкретным, чем «не работает» То, что происходит, и что вы ожидаете произойдет –

+0

(imagesx ($ изображения)/2) дает правильное значение. ($ Fontwidth1 * (strlen ($ txt)/2)) Возвращает 0. – BRDS

+0

И да, я правильно задал все остальные переменные. – BRDS

ответ

2

функция imagefontwidth лучше всего работает с фиксированной шириной шрифтов. Как Остин Brunkhorst сказал , самый надежный способ получить по центру текст использует imagettfbbox, например, так:?

$bbox = imagettfbbox(85, 0, $font, $txt); 
$center1 = (imagesx($image)/2) - (($bbox[2] - $bbox[0])/2); 
Смежные вопросы