我正在尝试使用 imagettftext 创建带有文本的图像。它告诉我警告:imagettftext():第 32 行 C:\xampp\htdocs\recentpost.php 中的字体文件名无效。这是我用来添加文本的第 32 行代码
imagettftext($img, 12, 0, 20, 1, $black, "../fonts/arial.ttf", "News!");
我从 C:/Windows/Fonts 文件夹中复制了字体,因此它是有效字体。
尝试类似:
$font = dirname(__FILE__) . '/arial.ttf';
//OR
$font = dirname(__FILE__) . '/fonts/arial.ttf';
imagettftext($img, 12, 0, 20, 1, $black, $font, "News!");
希望能帮助到你
如果你在 Windows 上,你应该使用"..\fonts\arial.ttf"
我认为的路径
您是否尝试过使用
imagettftext($img, 12, 0, 20, 1, $black, "../fonts/arial.TTF", "News!");
反而?(.TTF 而不是 .ttf)
和@Fab,您可以在 Windows 上同时使用 \ 和 /。
哦,哇,愚蠢的我......我已经太晚了,无法使用 php :p 我试图进入一个不存在的文件夹。真正的代码应该是
imagettftext($img, 12, 0, 20, 1, $black, "fonts/arial.ttf", "News!");
谢谢大家试图纠正我的愚蠢错误:p
尝试使用双斜杠:
imagettftext($img, 12, 0, 20, 1, $black, "..\\fonts\\arial.ttf", "News!");
我尝试使用上面的建议,但没有一个对我有用。
所以,我会添加对我有用的东西,以防其他人在我的鞋子里。
我用了
imagettftext($img, 12, 0, 20, 1, $black, getcwd()."\fonts\\arial.ttf", "News!");
请注意,'arial.ttf' 之前的额外反斜杠是为了转义原始字体文件目录中的反斜杠。
getcwd()
用于获取当前工作目录。你可以在这里阅读更多。
如果您愿意,您可以使用echo getcwd()."\fonts\\arial.ttf"
获取完整目录并将所有反斜杠更改为正斜杠。它仍然可以正常工作