PHP imagettftext центральный текст слева, справа, сверху, снизу - PullRequest
0 голосов
/ 30 мая 2019

Я создал некоторую функцию для создания аватара для моих пользователей, но некоторые буквы не могут быть установлены в центре.

Вот как выглядят изображения

https://i.stack.imgur.com/6YK89.png

https://i.stack.imgur.com/4IxFQ.png

https://i.stack.imgur.com/iP2U2.png

и код

    $font = 'arial.ttf';
    $font_size = '120';
    $angle = '0';
    $text = 'M';

    // Create the image
    $im = imagecreatetruecolor(200,240);

    $bg = imagecolorallocate($im, $bgColor[0],$bgColor[1],$bgColor[2]);
    $white = imagecolorallocate($im, 255, 255,255);

    imagefilledrectangle($im, 0, 0, 200, 240, $bg);

    $text_box = imagettfbbox($font_size,$angle,$font,$text);
    $text_width = $text_box[2]-$text_box[0];
    $text_height = $text_box[7]-$text_box[1];

    $x = 100 - ($text_width/2);
    $y = 120 - ($text_height/2);

    // Add the text
    imagettftext($im, $font_size, $angle, $x, $y, $white, $font, $text);

Не уверен, в чем проблема, может быть, imagettfbbox неправильно читает размер шрифта?

Кроме того, я пытался найти решение для StackOverflow, но не могу

...