我希望使用以下内容将我添加到图像中的文字居中:
imagettftext($image, 85, 0, 250, 350, $color, $font, $txt );
我试过这样的事情:
$fontwidth1 = imagefontwidth($font);
$center1 = (imagesx($image)/2) - ($fontwidth1*(strlen($txt)/2));
然而不幸的是,它无法正常工作。 imagefontwidth($ font)部分不起作用:(
之前有人遇到过这个问题并且知道解决方案/替代方法吗?
答案 0 :(得分:2)
函数imagefontwidth
最适合使用固定宽度字体。就像Austin Brunkhorst所说,获得居中文本的最可靠方法是使用imagettfbbox
,如下所示:
$bbox = imagettfbbox(85, 0, $font, $txt);
$center1 = (imagesx($image) / 2) - (($bbox[2] - $bbox[0]) / 2);