laravel 第9章:我的爱字体文件名无效

wgx48brx  于 2022-11-18  发布在  其他
关注(0)|答案(1)|浏览(119)

bounty将在2天后过期。回答此问题可获得+50声望奖励。Pouya希望吸引更多人关注此问题。

我有一个控制器方法,如下所示:

public function singleChar($text)
{
   $font = 'SansBold.ttf';

   ...

   imagettftext($img, $size, $angle + 5, $textX + 5, $textY + 10, $shadowgbColor, $font, $text);

   ... 
 }

但我恐怕这是不对的,因为我得到这个错误:
图像文本():字体文件名无效
我想这个错误的发生是因为我错误地调用了SansBold.ttf字体。所以我想知道在这个控制器方法中调用这个字体的正确方法是什么?还有,我应该把字体放在哪里?

请注意我使用的是PHP v8,并且通过取消php.ini中的;extension=gd注解来启用GD库。我被这个问题困扰着,希望能有任何想法或建议。

kupeojn6

kupeojn61#

需要指定字体文件的完整路径。
最好使用public文件夹来存储字体(如果您需要对它进行公共访问)或storage/app文件夹(如果您只在laravel应用程序中使用它)
在第一种情况下,获取路径将如下所示:

$font = public_path('fonts/SansBold.ttf'); // your file here: public/fonts/SansBold.ttf

在第二种情况下:

$font = storage_path('app/fonts/SansBold.ttf'); // your file here: storage/app/fonts/SansBold.ttf

相关问题