我正在尝试开发一个基于图片的网站。我真的很困惑,哪一种图片类型对于更快的页面加载速度和最佳压缩实践最好。请为我提供有关压缩图像大小的最佳方法的建议。
我正在尝试开发一个基于图片的网站。我真的很困惑,哪一种图片类型对于更快的页面加载速度和最佳压缩实践最好。请为我提供有关压缩图像大小的最佳方法的建议。
如果您想使用编码本身来缩小大小,可以按照此PHP代码进行操作。
<?php
function compress($source, $destination, $quality) {
$info = getimagesize($source);
if ($info['mime'] == 'image/jpeg')
$image = imagecreatefromjpeg($source);
elseif ($info['mime'] == 'image/gif')
$image = imagecreatefromgif($source);
elseif ($info['mime'] == 'image/png')
$image = imagecreatefrompng($source);
imagejpeg($image, $destination, $quality);
return $destination;
}
$source_img = 'source.jpg';
$destination_img = 'destination .jpg';
$d = compress($source_img, $destination_img, 90);
?>
$d = compress($source_img, $destination_img, 90);
这只是一个传递源图像(即$source_img
)、目标图像($destination_img
)和压缩图像所需的质量(即90)的PHP函数。
$info = getimagesize($source);
getimagesize()
函数用于查找任何给定图像文件的大小,并返回尺寸以及文件类型。
imagealphablending($image, false);
imagesavealpha($image, true);
我还必须将$quality除以10才能正常工作,因为imagepng不是从0-100而是从0-9。 - Shaakir你可以调整图片大小,然后使用imagejpeg()函数。
不要将100作为imagejpeg()函数的质量参数 - 通常超过90就是画蛇添足,只会得到更大的JPEG文件。对于缩略图,请尝试75并逐渐降低,直到在质量/大小之间取得可接受的平衡。
imagejpeg($tn, $save, 75);
我认为我有一些有趣的东西给你... https://github.com/whizzzkid/phpimageresize。我为了完全相同的目的编写了它。高度可定制,并以出色的方式完成。