2010-04-06 108 views
2

我想在特定圖像上添加文本。它的工作完美,但圖像質量低,特別是papyrus.ttf字體。我該如何提高圖像中文字的質量。但我需要高質量來打印輸出。 這是我的代碼..它非常簡單。php gd圖像質量

header("Content-Type: image/jpeg"); 
$im = imagecreatefromjpeg("cosmos.jpg"); 
$black = ImageColorAllocate($im, 0, 0, 0); 
Imagettftext($im, 14, 0, 10, 15, $black, 'papyrus.ttf', "Corey and Lisa "); 
Imagettftext($im, 14, 0, 10, 35, $black, 'papyrus.ttf', " 1994, june"); 
Imagejpeg($im, '', 100); 
ImageDestroy($im); 

下載:http://wneeds.com/gdtest.zip

回答

5

如果imageTTFText在質量失敗,下一步是嘗試ImageFTText()。它使用FreeType庫來渲染字體,這通常意味着更好的質量。它需要被安裝並編譯到PHP中才能正常工作,這是最常見的。嘗試調用函數,你會看到是否是這種情況。

如果不行,下一步就是使用ImageMagick,通過命令行或通過適當的PHP擴展。但首先嚐試使用Freetype,它已經足夠了。

+0

完全同意。如果你不關心資源,你可以嘗試使圖像比需要的大,縮小到你需要的大小,這應該是字體質量的輕微改善,但是這有點浪費資源。 – 2010-04-06 20:08:19

+0

感謝大家。我已經嘗試過imagefttext()。但質量不好。我以前沒有使用imagemagick。所以我認爲我必須繼續這樣做。但我期待更多來自gd。我提供的代碼是一個簡單的..但在我的系統中,我使用動態消息動態數據包。所以我必須改變很多東西,如果我去與圖像魔術。 @pekka可以使用imageFTText()檢查代碼並檢查輸出。你可以找出最新情況。可能是我做錯了。我會感謝你,如果你改變了來源,給我一個簡單的解決方案。再次感謝。 – apueee 2010-04-07 02:58:41

+0

@apu你可以發佈一些真實實例的圖片,以及圖片應該是什麼樣子? – 2010-04-07 09:54:26