Я успешно вывел текст (состоящий из 2-3 цифр) на изображение с помощью библиотеки изображений PHP GD. Затем я хотел бы разместить этот текст и сосредоточить его под ярлыками, включенными в изображение. Теперь я работаю, глядя на значения позиции изображения и жесткого кодирования, но это не идеально, поскольку числа меняются и могут не быть одинаковой длины при каждом запуске кода.Позиционный переменный текст, центрированный под меткой, используя PHP GD
Вот упрощенная версия того, что я до сих пор:
<?php
$font = 'arial.ttf';
$fontsize = 60;
$value1 = $_GET['r'];
$value2 = $_GET['rm'];
$value3 = $_GET['w'];
$image = imagecreatefrompng('image.png');
$fontcolor = imagecolorallocate($image, 255, 255, 255);
$x1 = 80;
$x2 = 160;
$x3 = 280;
$y = 1050;
imagettftext($image, $fontsize, 0, $x1, $y, $fontcolor, $font, $value1);
imagettftext($image, $fontsize, 0, $x2, $y, $fontcolor, $font, $value2);
imagettftext($image, $fontsize, 0, $x3, $y, $fontcolor, $font, $value3);
header('Content-type: image/png');
imagepng($image);
imagedestroy($image);
?>
Я считаю, что мне нужно использовать imagettfbbox, но как я могу расположить коробку в соответствии с этикеткой на изображении?
Можно ли установить основное положение для каждой метки (поскольку они никогда не будут перемещаться) и в центре в соответствии с этим, независимо от длины номера? Например, если введено 4-значное число, оно будет отображаться в том же месте, что и 2-значный номер, центрированный под его меткой.
http://php.net/imagettfbbox - получить размер коробки, использовать расчетное позиционирование. –