2013-10-05 141 views
2

我嘗試通過imageloadfont函數加載字體。當我運行腳本我收到錯誤:GD嘗試加載字體時出錯

gd warning: product of memory allocation multiplication would exceed INT_MAX, failing operation gracefully 
PHP Warning: imageloadfont(): Error reading font, invalid font header 

什麼會導致此問題?

ENV:

Ubuntu的13.04 64位

PHP 5.4.9-4ubuntu2.3

回答

1

我找到了解決辦法。問題不在imageloadfont函數中。

我試圖加載字體(.ttf)到imageloadfont並將其設置在圖像上。現在我使用imagettftext來加載自定義字體並將該字符串放在圖片上,而不是使用圖像字符串函數。

2

我在嘗試隨機使用系統的.ttf文件之一時看到此錯誤。 PHP手冊示例具有.gdf字體文件。

我的圖片尺寸爲1013 x 638(646294像素),身份證尺寸爲300 dpi的圖像。

在我的情況下,PHP_INT_MAX的值爲2147483647,內存限制設置爲128 MB。

轉換後的新的字體文件工作(.gdf格式字體)

字體轉換器:www.wedwick.com/wftopf.exe

來源:http://www.animeviews.com/article.php?ID=263