我想把一些文字放在两点之间。文本是动态的,不管它包含什么,都应该居中。
我正在尝试以下操作:

    $dims = imagettfbbox(130, 0, './Calibri.ttf', "JULY");

$width = ($dims[2])-($dims[0]);

imagettftext($my_img , 130, 0, 1196-($width/2) , 700, $text_colour, './Calibri.ttf', "JULY");

在x=711处有一个点,在x=1907处有一个点,这是我从中得到1196的地方,因为1907-711=1196。
在我的逻辑中,1196-($width/2)应该起作用,因为参数是文本的第一个像素。
但从图像上可以看出,它并没有居中。

最佳答案

从你的解释中我明白1196-($width/2)是错误的。
你应该找到盒子的中间,在x = 711x = 1907之间:

$x_center = 711 + (1907 - 711) / 2
$x_start = $x_center - ($width / 2)

希望有帮助。

关于php - php如何在2点之间居中显示文字?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28023677/

10-09 00:37