我正在尝试使用imagettftext创建包含文本的图像。它告诉我警告:imagettftext():第32行的C:\ xampp \ htdocs \ recentpost.php中的字体文件名无效。这是我用来添加文本的第32行的代码
imagettftext($img, 12, 0, 20, 1, $black, "../fonts/arial.ttf", "News!");
我将字体从C:/ Windows / Fonts文件夹中复制出来,因此它是有效的字体。
答案 0 :(得分:12)
尝试类似:
$font = dirname(__FILE__) . '/arial.ttf';
//OR
$font = dirname(__FILE__) . '/fonts/arial.ttf';
imagettftext($img, 12, 0, 20, 1, $black, $font, "News!");
希望有所帮助
答案 1 :(得分:0)
如果您使用的是Windows,则应使用"..\fonts\arial.ttf"
作为我认为的路径
答案 2 :(得分:0)
您是否尝试过使用
imagettftext($img, 12, 0, 20, 1, $black, "../fonts/arial.TTF", "News!");
代替? (.TTF代替.ttf)
和@Fab,你可以在Windows上同时使用\和/。
答案 3 :(得分:0)
imagettftext($img, 12, 0, 20, 1, $black, "fonts/arial.ttf", "News!");
感谢大家试图解决我的愚蠢错误:p
答案 4 :(得分:0)
尝试使用双斜杠:
imagettftext($img, 12, 0, 20, 1, $black, "..\\fonts\\arial.ttf", "News!");
答案 5 :(得分:0)
我尝试使用以上建议,但没有一个对我有用。
因此,如果有其他人穿着我的鞋子,我将添加对我有用的东西。
我用过
imagettftext($img, 12, 0, 20, 1, $black, getcwd()."\fonts\\arial.ttf", "News!");
请注意,'arial.ttf'之前的额外反斜杠是在原始字体文件目录中转义反斜杠。
getcwd()
用于获取当前工作目录。您可以阅读更多here。
您可以使用echo getcwd()."\fonts\\arial.ttf"
获取完整目录,并根据需要将所有反斜杠更改为正斜杠。仍然可以正常工作