發生這種錯誤的原因:當使用低於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:要插入圖像的文本( imagefttext()函數)。 -
text:UTF-8 編碼的文本字符串( imagettftext ()函數)。
-
extrainfo:
| 鍵 | 類型 | 含義 |
|---|---|---|
linespacing |
浮動 | 定義繪圖線間距 |
