Я хочу центрировать текст, который я добавляю к своему изображению, используя:
imagettftext($image, 85, 0, 250, 350, $color, $font, $txt );
Я попробовал что-то вроде этого:
$fontwidth1 = imagefontwidth($font);
$center1 = (imagesx($image)/2) - ($fontwidth1*(strlen($txt)/2));
Однако, к сожалению, это не работает.
Часть imagefontwidth ($ font) не работает 🙁
Кто-нибудь сталкивался с этой проблемой раньше и знает решение / альтернативный метод?
Функция imagefontwidth
лучше всего работает со шрифтами фиксированной ширины. Как сказал Остин Брунхорст, самый надежный способ получить центрированный текст imagettfbbox
, вот так:
$bbox = imagettfbbox(85, 0, $font, $txt);
$center1 = (imagesx($image) / 2) - (($bbox[2] - $bbox[0]) / 2);
Других решений пока нет …