【发布时间】:2012-07-10 05:47:17
【问题描述】:
我正在尝试开发一个基于图像的网站。对于更快的页面加载速度和最佳压缩实践的最佳图像类型,我真的很困惑。请告诉我压缩图像大小的最佳方法。
【问题讨论】:
-
Jpeg、gif 和 png 图像已经被压缩。你能澄清一下吗?
标签: php image performance compression google-pagespeed
我正在尝试开发一个基于图像的网站。对于更快的页面加载速度和最佳压缩实践的最佳图像类型,我真的很困惑。请告诉我压缩图像大小的最佳方法。
【问题讨论】:
标签: php image performance compression google-pagespeed
如果您希望使用编码本身来减小大小,您可以在 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);
这只是一个 php 函数,它传递源图像(即$source_img)、目标图像($destination_img)和需要压缩的图像质量(即 90)。
$info = getimagesize($source);
getimagesize() 函数用于查找任何给定图像文件的大小并返回尺寸以及文件类型。
【讨论】:
我会选择jpeg。阅读this post关于图像尺寸缩小的信息,并在决定技术后,使用ImageMagick
希望对你有帮助
【讨论】:
你可以调整大小,然后使用 imagejpeg()
不要将 100 作为 imagejpeg() 的质量 - 任何超过 90 的东西通常都是矫枉过正的,只会让你得到一个更大的 JPEG。对于缩略图,请尝试 75 并向下工作,直到质量/大小的权衡是可以接受的。
imagejpeg($tn, $save, 75);
【讨论】:
好吧,我想我有一些有趣的事情要给你...https://github.com/whizzzkid/phpimageresize。我写它的目的完全相同。高度可定制,而且做得很好。
【讨论】: