2

这仅发生在实时服务器上。在多重开发服务器上,图像正在按预期创建。

直播:红帽

$ 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 兼容)

开发: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 特有的问题。

4

5 回答 5

2

也许你的内存不足或类似的东西?您是否仔细检查了所有日志文件等?

于 2008-09-24T18:46:02.827 回答
0

Does it depend on the image ?

Recently I discovered a strange bug/feature in PHP & GD.

When trying to resize and edit JPEGs that had an all white background (c. 3MB), it would fail. It DID work with other images that were larger (c. 4MB), and more complicated backgrounds.

I worked out that when GD opened the images to edit, the white back ground images grew by a greater ratio than the more complex images. This ratio for some images caused PHP/GD to fail and cut of images halfway.

William

于 2008-10-01T20:44:02.087 回答
0

它是 100% 一致的并且总是在同一个地方吗?如果不是,则可能是资源问题——执行脚本的时间或内存限制。尝试调整 php.ini 设置,重新启动 Web 服务器,进行测试。

于 2008-09-24T18:47:36.800 回答
0

可能不是图像被截断。可能是文本被截断。

imagettftext($image, $fontSize, 0, 0, 50, $black, $font, $text);

TTF 字体有开销和填充。尝试更大的画布,看看是否得到相同的结果。

于 2009-05-12T08:40:56.467 回答
0

你有没有$width输出的值,看看它是否正确?

于 2009-05-11T21:28:25.787 回答