如何减少php中png图像的大小?

时间:2018-07-13 20:51:20

标签: php image

我想使用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

有什么解决办法吗?

我尝试对网站进行速度测试,结果发现图像性能问题,因为我想优化图像。

0 个答案:

没有答案
相关问题