php 验证码图像报错无法找到/打开字体(Warning: imagettftext(): Could not find/open font)的解决方法
作者:互联网
发生这种错误的原因:当使用低于2.0.18的GD库版本时,space
字符(而不是分号)被用作不同字体文件的“路径分隔符”。意外使用此功能将导致警告消息: Warning: Could not find/open font
。对于这些受影响的版本,唯一的解决方案是将字体移动到不包含空格的路径。
配置环境:wamp;
1.php的FreeType /TrueType 支持已经添加;
2.字体文件路径没有问题;
imagefttext()函数和imagettftext()函数报错的解决方法是一样的;
解决方法:使用realpath()函数把字体文件路径改为绝对路径;
$fontfile
= realpath($fontfile
);
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
以下内容是imagefttext() 和imagettftext ()的作用和参数介绍
版本支持(PHP 4> = 4.0.7,PHP 5,PHP 7)
imagefttext — 使用 FreeType 2 字体将文本写入图像
说明:imagefttext ( resource $image
, float $size
, float $angle
, int $x
, int $y
, int $color
, string $fontfile
, string $text
[, array $extrainfo
] );
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
版本支持 (PHP 4, PHP 5, PHP 7)
imagettftext — 用 TrueType 字体向图像写入文本
说明:imagettftext ( resource $image
, float $size
, float $angle
, int $x
, int $y
, int $color
, string $fontfile
, string $text
) ;
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
参数介绍
image:
由图象创建函数(例如imagecreatetruecolor())返回的图象资源。size:
以磅为单位使用的字体大小。angle:
以度为单位的角度,以0度为从左到右阅读文本。较高的值表示逆时针旋转。例如,值90将导致从下到上的阅读文本。x:
由x
和 给出的坐标y
将定义第一个字符的基点(大约是字符的左下角)。这不同于imagestring(),其中x
和y
定义第一个字符的左上角。例如,“左上”是0、0。y:
y坐标。这将设置字体基线的位置,而不是字符的最底部。color:
文本所需颜色的索引,请参见 imagecolorexact()。fontfile:
您要使用的TrueType字体的路径。text:
要插入图像的文本。
extrainfo:
键 | 类型 | 含义 |
---|---|---|
linespacing |
浮动 | 定义绘图线间距 |
标签:fontfile,文本,int,imagettftext,字体,报错,PHP,find 来源: https://www.cnblogs.com/zl0111/p/14129493.html