1. 程式人生 > 實用技巧 >php 驗證碼影象報錯無法找到/開啟字型(Warning: imagettftext(): Could not find/open font)的解決方法

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$imagefloat$sizefloat$angleint$xint$yint$colorstring$fontfilestring$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(),其中xy定義第一個字元的左上角。例如,“左上”是0、0。
y:y座標。這將設定字型基線的位置,而不是字元的最底部。
color:文字所需顏色的索引,請參見imagecolorexact()
fontfile:您要使用的TrueType字型的路徑。
text:要插入影象的文字。
extrainfo:
可能的陣列索引extrainfo
型別含義
linespacing 浮動 定義繪圖線間距