【发布时间】:2013-12-24 13:01:59
【问题描述】:
我有一个调整上传图片大小的脚本。我添加了一些说明以将 GIF 中的任何透明度转换为白色。它通常可以正常工作,但在某些情况下,调整大小的 GIF 完全是黑色的。 (请注意,我将这些图像用于 PDF,所以我不能使用 CSS 来处理这个......)。无论如何,我是 PHP 图像处理的新手,所以我不知道如何解决这个问题。
这里有两个示例 GIF。第一个工作正常,而第二个更改为黑色。
这是相关的sn-p:
elseif ($fileType == 'gif') {
$src = imagecreatefromgif($file);
$dst = imagecreatetruecolor($newWidth, $newHeight);
imagecolortransparent($dst, imagecolorallocatealpha($dst, 0, 0, 0, 127));
imagealphablending($dst, false);
imagesavealpha($dst, true);
imagecopyresampled($dst, $src, 0, 0, 0, 0, $newWidth, $newHeight, $width, $height);
imagegif($dst, $file);
}
【问题讨论】:
-
这些 gif 都没有透明度。
-
第二张图片不是gif。