这只发生在实时服务器上。在多个开发服务器上,正在按预期创建映像。
LIVE: 红帽
$ php --version
PHP 5.2.6 (cli) (built: May 16 2008 21:56:34)
Copyright (c) 1997-2008 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies
GD支持=>启用 GD版本=>捆绑(2.0.34兼容)
DEV: Ubuntu 8
$ php --version
PHP 5.2.4-2ubuntu5.3 with Suhosin-Patch 0.9.6.2 (cli) (built: Jul 23 2008 06:44:49)
Copyright (c) 1997-2007 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies
GD支持=>启用 GD版本=> 2.0或更高
<?php
$image = imagecreatetruecolor($width, $height);
// Colors in RGB
$white = imagecolorallocate($image, 255, 255, 255);
$black = imagecolorallocate($image, 0, 0, 0);
imagefilledrectangle($image, 0, 0, $width, $height, $white);
imagettftext($image, $fontSize, 0, 0, 50, $black, $font, $text);
imagegif($image, $file_path);
?>
在一个完美的世界中,我希望实时服务器和开发服务器运行相同的发行版,但实时服务器必须是Red Hat。
我的问题是,是否有人知道使用捆绑版本的GD会导致图像的最正确部分被切断的具体差异?
编辑:我的内存不足。日志文件中没有生成错误。就php而言,正确生成图像。这就是为什么我认为它是捆绑版本的GD特定问题。答案 0 :(得分:2)
也许你的内存不足或类似的东西?你仔细检查了所有的日志文件等吗?
答案 1 :(得分:0)
它是100%一致并始终在同一个地方吗?如果不是,则可能是资源问题 - 执行脚本或内存限制的时间。尝试调整php.ini设置,重启Web服务器,测试。
答案 2 :(得分:0)
它取决于图像吗?
最近我发现PHP和PHP中的一个奇怪的错误/功能GD。
当尝试调整大小并编辑具有全白背景(约3MB)的JPEG时,它将失败。它可以与其他较大的图像(约4MB)和更复杂的背景一起使用。
我得出结论,当GD打开要编辑的图像时,白色背景图像比更复杂的图像增长的比例更大。某些图像的比例导致PHP / GD失败并中途剪切图像。
威廉
答案 3 :(得分:0)
您是否拥有$ width输出的值以查看它是否正确?
答案 4 :(得分:0)
可能不是图像被切断了。可能是文本被截断了。
imagettftext($image, $fontSize, 0, 0, 50, $black, $font, $text);
TTF字体有开销和填充。尝试更大的画布,看看你是否得到了相同的结果。