Compression 创建图像后,白色背景将转换为其他颜色

Compression 创建图像后,白色背景将转换为其他颜色,compression,gd,image-uploading,Compression,Gd,Image Uploading,因此,用户上传图像jpeg、gif或png; 我应该把它转换成PNG,所以我做了如下工作: if ($typeImgFunction == 'jpeg') $imgCreate = imagecreatefromjpeg($fileName); else if ($typeImgFunction == 'gif') $imgCreate = imagecreatefromgif($fileName); else if ($typeImgFunction == 'png') $imgC

因此,用户上传图像jpeg、gif或png; 我应该把它转换成PNG,所以我做了如下工作:

if ($typeImgFunction == 'jpeg') $imgCreate      = imagecreatefromjpeg($fileName);
else if ($typeImgFunction == 'gif') $imgCreate  = imagecreatefromgif($fileName);
else if ($typeImgFunction == 'png') $imgCreate  = imagecreatefrompng($fileName);
...
...
$displayImg = imagepng($dstFinal, $src);
$displayImg = imagepng($dstFinal, $src, 0); // 0 for no compression at all
问题是上传图像中的白色fffff变成了一升白色FEFE,而且很难看

我尝试使用imagepng的质量参数,例如:

if ($typeImgFunction == 'jpeg') $imgCreate      = imagecreatefromjpeg($fileName);
else if ($typeImgFunction == 'gif') $imgCreate  = imagecreatefromgif($fileName);
else if ($typeImgFunction == 'png') $imgCreate  = imagecreatefrompng($fileName);
...
...
$displayImg = imagepng($dstFinal, $src);
$displayImg = imagepng($dstFinal, $src, 0); // 0 for no compression at all
但事实上,这并没有改变任何事情


你们有什么好主意吗?

所有文件扩展名都是这样吗?只有jpeg还是什么的?我对PNG、GPEG和GIF有同样的东西