我正在Codeigniter上的一个项目中,我需要上载图像并将其压缩。 jpeg图像可以正常压缩,但是当我压缩png图像时,背景会变成黑色,而不是透明的。我不知道该怎么办。
当我上传带有大多数绿色的png图像时,它全部变成绿色,以至于其他颜色。
//这是我正在使用的代码
function compress($source_url, $destination_url, $quality) {
$info = getimagesize($source_url);
if ($info['mime'] == 'image/jpeg'){
$image = imagecreatefromjpeg($source_url);
}
elseif ($info['mime'] == 'image/gif'){
$image = imagecreatefromgif($source_url);
}
elseif ($info['mime'] == 'image/png'){
$image = imagecreatefrompng($source_url);
}
imagejpeg($image, $destination_url, $quality);
return $destination_url;
}
如果我上传圆形png图像,则压缩后应保持不变。 我还尝试使用codeigniter默认帮助程序使用gd和gd2库压缩图像,但这对我也不起作用