Создать изображение, содержащее текст с инициалами имени и фамилии пользователя - PullRequest
0 голосов
/ 08 мая 2019

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

Я сделал плоское изображение только с цветом, а затем попытался написать на нем текст, используя Intervention Image.Это работает, но размер шрифта слишком мал, я не могу увеличить его .Я не знаю, какой максимальный размер шрифта в Intervention, так как документация ничего не говорит об этом.Я также попробовал с другим шрифтом, поместил шрифт в папку шрифтов, и я указываю его в $font->file('font/Poppins.ttf').Выдает ошибку 'Undefined Offset'.

RegisterController.php

protected function create(array $data)
{
    $img = Image::make('storage/avatars/1.jpg');
    $img->text('HW', 125, 80, function ($font) {
        $font->file('font/Poppins.ttf');
        $font->size(40);
        $font->color('#fdf6e3');
        $font->align('center');
        $font->angle(45);
    });
    $filename = time().'.'.'jpg';
    $img->resize(150, 150)->save('storage/avatars/'.$filename);

    return User::create([
        'firstname' => $data['firstname'],
        'lastname' => $data['lastname'],
        'email' => $data['email'],
        'password' => Hash::make($data['password']),
        'avatar' => $filename,
    ]);
}

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

1 Ответ

1 голос
/ 08 мая 2019

Вы не указали правильный путь к файлу font.ttf

измените это

$font->file('font/Poppins.ttf');

на это

 $font->file(public_path('/fonts/font.ttf'));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...