3

我尝试通过imageloadfont函数加载字体。当我运行脚本时,我收到错误:

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

什么会导致这个问题?

环境:

Ubuntu 13.04 64 位

PHP 5.4.9-4ubuntu2.3

4

2 回答 2

3

我在尝试随机使用系统的 .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

于 2014-06-30T17:44:20.900 回答
2

我找到了解决方案。问题不在 imageloadfont 函数中。

我试图将字体(.ttf)加载到 imageloadfont 并将其设置在图像上。我现在没有使用 imagestring 函数,而是使用 imagettftext 加载自定义字体并将字符串放在图片上。

于 2013-10-07T07:51:44.917 回答