我正在尝试使用 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,使其不会像上面的示例那样扭曲?