我尝试按imageloadfont功能加载字体。当我运行脚本时,我收到错误:
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
答案 0 :(得分:2)
我找到了解决方案。问题不在imageloadfont函数中。
我试图将字体(.ttf)加载到imageloadfont并将其设置在图像上。我现在使用imagettftext加载自定义字体并将字符串放在图片上,而不是使用imagestring函数。
答案 1 :(得分:2)
我在尝试随机使用系统的.ttf文件时看到了这个错误。 PHP手册示例有.gdf字体文件。
我的图片尺寸为1013 x 638(646294像素),300 dpi的ID卡尺寸图片。
在我的情况下,PHP_INT_MAX的值为2147483647,内存限制设置为128 MB。
已转换的新字体文件有效(.gdf格式字体)
字体转换器:www.wedwick.com/wftopf.exe