4

我正在一个网站上工作,该网站涉及显示来自各种在线零售商的大量产品图片。由于大部分页面重量都在图像中,因此我认为值得研究进一步缩小文件大小的技术。

图像已经是JPEG。我知道 PNG 有很多多余的东西可以大大增加文件大小,但我对 JPEG 的经验较少。所以,有几个相关的问题:

  1. 是否值得进一步压缩 JPEG?似乎进一步压缩已经是有损格式的东西可能会导致更多的伤害(质量差)而不是好的(节省 10+% 的文件大小)。

  2. 还有其他减少文件大小的技术吗?我不知道 EXIF 元数据或其他元数据是否是这些图像中的任何一个的一部分,如果削减这些是一个实质性的改进。

  3. 使用 GD 或 ImageMagick(或其他东西)的任何经验/建议?还有一家名为 Spinwave 的公司提供的商业图像压缩库。

4

5 回答 5

1

你使用缩略图吗?如果是这样,它们是单独保存还是较大的图像完全加载并在网页上调整大小?在页面上显示单独的缩略图大小将节省大量带宽。

您可以降低 JPEG 的品质因数,直到可以看到为止。每次执行此操作时,您都会看到文件大小有所改善。但是,正如您所怀疑的那样,由于您已经拥有 JPEG,您可能会更快地看到图像中的棋盘伪影,因为您正在压缩已经压缩的图像。

GD 或 IM 都运行良好。

于 2008-10-30T23:45:49.650 回答
0
  • 有像 .ZIP 这样的无损压缩,但它们通常更糟糕,对于已经压缩的格式不是很有用。

  • JPEG 可以有不同的压缩级别。多少质量就足够了,由您决定。数码相机中的照片可以压缩到其大小的十分之一,同时非常适合网站。

  • JPEG 更适合照片。PNG 更适合徽标和纯色。

  • ImageMagick 应该允许您从命令行或程序库更改 jpeg 的大小。见http://www.imagemagick.org/Usage/formats/#jpg

于 2008-10-30T23:48:38.130 回答
0
  1. 对我来说,质量看起来不错,直到你开始低于 75-80% 的质量。
  2. 我不认为任何元数据(JPEG 也支持 IPTC)会大大增加文件大小 - 但可能值得做一些你自己的基准测试(关于博客的内容!)
  3. 我被带入 PHP 是因为喜欢 GD(我认识其中一位贡献者)。只需记住将图像缓存为文件。例如:

    $im = imagecreatefromjpeg('file.jpg');

    // 输出函数

    // 80 = 质量

    imagejpeg($im, 'savedfile.jpg', 80);

代码格式化似乎不起作用!

于 2008-10-30T23:50:14.070 回答
0

我的经验表明,一些“产品”图像是使用色彩空间元数据创建的,以便在印刷媒体上进行准确的色彩再现。这会增加 jpeg 文件的大小。在某些情况下,我可以通过删除 EXIF 将 jpeg 文件减少 30%。

于 2010-08-06T11:39:56.280 回答
0

不要重新编码。如果您有某种无损格式的原始图像,则使用更高的压缩率进行编码。如果您在已经 DCT 量化的图像之上进行 DCT 量化,与以所需的较低比特率直接编码相比,您将引入不必要的图像质量损失。

于 2019-08-28T07:59:32.720 回答