2014-12-03 182 views
0

我想通過使用PHP創建一個圖像。這張圖片應該有文字。我只能通過使用imagestring函數來顯示文本,但該函數只允許最多5個字體的字體。事實證明,這對我來說太小或很小。然後,我通過使用imagettftext函數了解到,您可以在圖像上放大想要的文字。這個功能對我來說根本不起作用。當我在研究這個問題時,我在另一個stackoverflow問題中發現了這段代碼。增加php字體大小

<?php 
$image = imagecreate(400,300); 
$blue = imagecolorallocate($image, 0, 0, 255); 
$white = ImageColorAllocate($image, 255,255,255); 

if(!isset($_GET['size'])) $_GET['size'] = 44; 
if(!isset($_GET['text'])) $_GET['text'] = "Hello, world!"; 

// Set the enviroment variable for GD 
putenv('GDFONTPATH=' . realpath('.')); 

// Name the font to be used (note the lack of the .ttf extension) 
$font = 'arial.ttf'; 

imagettftext($image, $_GET['size'], 15, 50, 200, $white, $font, $_GET['text']); 
header("content-type: image/png"); 
imagepng($image); 
imagedestroy($image); 
?> 

我看到滑稽的臉和我調用它的瀏覽器奇怪的字符。這段代碼有什麼錯誤,還有哪些其他選項可用於增加PHP中的字體大小?

UPDATE 這個經過反覆研究,我已經試過了網上給出了這個問題的所有建議和答案,但它仍然不會顯示圖像。我在字體類型字符串前添加了./。我甚至從我的電腦上傳了一個Microsoft字體類型到服務器,並且仍然以相同的結果結束。

UPDATE 我沒有忘記提及,我實際上沒有轉移字型ARIAL.TTF從我的計算機到服務器到文件夾中所有我的PHP文件駐留的。

+2

是不是宋體拼寫爲「宋體」? – dmikester1 2014-12-03 20:16:52

+0

@ dmikester1我剛糾正拼寫,仍然一樣。 – ThN 2014-12-03 20:19:12

+0

說明說,跳過字體的擴展名,不知道是否重要 – dmikester1 2014-12-03 20:22:48

回答

1

從文檔

fontfile您要使用的TrueType字體的路徑。

根據其GD庫的PHP版本使用,當 fontfile沒有領先/時則.ttf將被追加到 文件名開始,圖書館將嘗試沿着庫搜索該文件名 - 定義的字體路徑。

取出的.ttf或添加一個絕對路徑

+0

就是這麼簡單!!!!! :) 謝謝,我的朋友。有用。我剛剛複製了上面的代碼,並刪除了.ttf和VIOLA !!!!這只是我沒有用這個代碼做的事情。謝謝。 – ThN 2014-12-04 14:41:28