PNG图像因GD而失真

时间:2013-11-10 20:54:07

标签: php gd

我正在尝试使用GD构建图像。这个建筑的一部分是为图像添加一个带有透明空间的PNG。我正在使用2台不同的服务器。

服务器1,可以完美地构建映像,具有以下配置: PHP 5.4.21 启用了GD 2.1.0 PNG支持(使用libPNG)

服务器2,它有一个问题: php 5.2.17 启用GD 2.0.34 PNG支持(无libPNG)

第二台服务器正在扭曲图像,因此它看起来像这样:

Distorted

以下是原文:

enter image description here

它保持正确的高度,但宽度失真并出现线条。

我的原始代码如下:

$et_marker = @imagecreatefrompng('images/et_marker.png');
...
imagecopy($chart, $et_marker, $left, $mk_top, 0, 0, imagesx($et_marker), imagesy($et_marker));

然后我想也许如果我将PNG转换为TrueColor图像会更好,所以我将代码更改为:

$et_marker_raw = @imagecreatefrompng('images/et_marker.png');
$width = imagesx($et_marker_raw);
$height = imagesy($et_marker_raw);
$et_marker = imagecreatetruecolor($width, $height);
$bg_col = imagecolorallocatealpha($et_marker, 10, 10, 10, 127);
imagefill($et_marker, 0, 0, $bg_col);
imagecopyresampled($et_marker, $et_marker_raw, 0, 0, 0, 0, $width, $height, $width, $height);

这是我唯一的想法。

我找不到足够的有关libPNG的信息来确定是否存在这个问题。

此处不能使用Imagemagick。

如何加载此PNG,使其不像上面的示例那样扭曲?

0 个答案:

没有答案