我希望每个用户注册时都有一个默认的个人资料图片。此图像将具有其名字和姓氏的首字母。
我制作了只有彩色的平面图像,然后尝试使用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,
]);
}
我有一个默认图像,该图像只有红色作为背景。每当有人注册时,他都必须将此图像作为默认的个人资料图片,并在上面标上他的名字和姓氏的首字母。
答案 0 :(得分:1)
您没有提供font.ttf文件的正确路径
更改此
$font->file('font/Poppins.ttf');
对此
$font->file(public_path('/fonts/font.ttf'));