0

我正在尝试使用 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)

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

扭曲的

这是原文:

在此处输入图像描述

它保持正确的高度,但宽度扭曲并且出现线条。

我的原始代码如下所示:

$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,使其不会像上面的示例那样扭曲?

4

0 回答 0