2010-03-03 37 views
2

我有「imagettftext」函數的問題。如果我評論有問題的行(我看到一個黃色矩形),以下代碼有效。爲什麼imagettftext不起作用?

session_start(); 
$text = $_SESSION['code']; 
header("Content-type: image/gif"); 
$image = imagecreate(150, 15); 
$red_bg = 255; $green_bg = 255; $blue_bg = 155; 
$bg_col = imagecolorallocate($image, $red_bg, $green_bg, $blue_bg); 
$red_txt = 0; $green_txt = 0; $blue_txt = 0; 
$text_col = imagecolorallocate($image, $red_txt, $green_txt, $blue_txt); 
$font = "LucidaSansRegular.ttf"; 
$link_col = imagecolorallocate($image, 0, 0, 255); 
//imagettftext($image, 10.0, 0.0, 5, 5, $text_col, $font, "aaaaa"); 
imagegif($image); 

但是,如果我取消註釋有問題的行(顯示一些文本),我得到一個問題。 Mozilla寫道:「圖像無法顯示,因爲它包含錯誤」。

可能是這與訪問我的字體文件(LucidaSansRegular.ttf)有關。我目錄中的所有文件都有「-rw-r - r--」(包括喜歡的文件)。

有什麼建議嗎?我需要在另一臺服務器上添加這段代碼。

+0

我有更多的信息。我試圖從命令行運行代碼,並得到「無法找到/打開字體」。所以,我的假設是在正確的方向。但我仍然不明白爲什麼。因爲「組」和「其他」被允許讀取這個文件。什麼是問題? – Roman 2010-03-03 13:23:15

+2

我解決了這個問題。在需要放置「./」的字體的文件名之前。 I.e .: $ font =「./LucidaBlaBlaBla.ttf」。有效。我不知道爲什麼,但它的工作。 – Roman 2010-03-03 13:29:07

+1

你應該把你的最終解決方案寫成「答案」,然後接受它,所以這個問題不會出現在「沒有答案」 – TML 2010-11-10 09:40:11

回答

0

/指根目錄 ./代表當前目錄 ../指父目錄

希望這向你解釋爲什麼它的工作;)