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(),其中 xy定義第一個字符的左上角。例如,“左上”是0、0。
y:y坐標。這將設置字體基線的位置,而不是字符的最底部。
color:文本所需顏色的索引,請參見  imagecolorexact()
fontfile:您要使用的TrueType字體的路徑。
text:要插入圖像的文本( imagefttext()函數)。
text:UTF-8 編碼的文本字符串( imagettftext ()函數)。
extrainfo:
可能的數組索引  extrainfo
類型 含義
linespacing 浮動 定義繪圖線間距

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM