Сгенерированное изображение с текстом всегда вне центраPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Сгенерированное изображение с текстом всегда вне центра

Сообщение Anonymous »

У меня есть простой генератор аватаров PHP, который берет чье -то имя пользователя, и делает изображение с их инициалами на нем. Это работает хорошо, но каким -то образом текст всегда не в центре, и я не могу понять, что всегда должен иметь текст правильно центрированный.$im = imagecreatetruecolor(125, 125);

$str = 'dpoint';
if (str_word_count($str) > 1)
{
$words = explode(' ', $str);
$text = $words[0][0]. $words[1][0];
}
else
{
$text = substr($str, 0, 2);
}

$font_size = '50';
$white = imagecolorallocate($im, 255, 255, 255);
$angle = 0;

// Get image dimensions
$width = imagesx($im);
$height = imagesy($im);
// Get center coordinates of image
$centerX = $width / 2;
$centerY = $height / 2;
// Get size of text
list($left, $bottom, $right, , , $top) = imageftbbox($font_size, $angle, './Ubuntu-L.ttf', $text);
// Determine offset of text
$left_offset = ($right - $left) / 2;
$top_offset = ($bottom - $top) / 2;
// Generate coordinates
$x = $centerX - $left_offset;
$y = $centerY + $top_offset;
// Add text to image
imagettftext($im, $font_size, $angle, $x, $y, $white, './Ubuntu-L.ttf', $text);

// Set the content type header
header('Content-Type: image/jpeg');

// Skip the file parameter using NULL, then set the quality
imagejpeg($im, NULL, 100);

// Free up memory
imagedestroy($im);
< /code>
Это, например, в конечном итоге как следующее:

Вы можете видеть, что это намного ниже, что должно быть. Какое позиционирование я здесь делаю?>

Подробнее здесь: https://stackoverflow.com/questions/794 ... off-center
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»