我想使用php优化图像,我使用了这3个功能:
imagecreatefromgif
imagecreatefrompng
imagecreatefromjpeg
我优化和调整图像大小的代码是
function compress($source, $destination, $quality)
{
$info = getimagesize($source);
if ($info['mime'] == 'image/jpeg') {
$image = imagecreatefromjpeg($source);
imagejpeg($image, $destination, $quality); //Compress with jpg
}
else if ($info['mime'] == 'image/gif')
$image = imagecreatefromgif($source);
else if ($info['mime'] == 'image/png') {
$image = imagecreatefrompng($source);
$background = imagecolorallocatealpha($image,0,0,0,127);
imagecolortransparent($image, $background);
imagealphablending($image, false);
imagesavealpha($image, true);
imagepng($image, $destination, $quality); //Compress with png !!
}
return $destination;
}
$source_img = 'source.png';
$destination_img = 'destination.png';
$d = compress($source_img, $destination_img, 9);
但是我对png图像有问题,我的代码的目标是缩小图像的大小,当我尝试使用JPEG或GIF图像的代码时,我总是得到一些KB的缩小(关于图像)
但是png图像的问题总是使代码向新图像添加更多KB
例如,如果我尝试的图像大小为 10KB ,则结果为 12KB
有什么解决办法吗?
我尝试对网站进行速度测试,结果发现图像性能问题,因为我想优化图像。