JPG文件大小优化 - PHP,ImageMagick和Google的页面速度

8
我有一个照片库代码,可以调整图像大小并创建缩略图。我使用ImageMagick来完成这个过程。我通过Google的Page Speed工具运行了一个图库页面,发现重新调整大小的图像和缩略图都有大约额外10KB的数据(特别是JPEG文件)。
我应该在我的脚本中添加什么来优化文件大小?
附加信息:
当调用resizeImage()函数时,我使用imagick::FILTER_LANCZOS滤镜,并将模糊设置为0.9。JPEG具有80的质量设置。

你给ImageMagick传递了哪些参数? - asgerhallas
更新了我的问题以解决设置/参数的问题。我理解谷歌的页面速度以无损方式删除10KB的信息,它不会进一步压缩图像。有没有元数据可以通过某种方式剥离? - Sonny
2个回答

10

我发现了这个SO问题 "Tools for JPEG optimization?",其中有一些很好的信息,但解决方案超出了PHP。使用该问题解决方案中给出的提示,我发现可以执行两种无损优化:

  1. Huffman编码表的优化
  2. 元数据的删除(EXIF等)

这两种优化都可以通过以下方式使用 ImageMagick 完成:

  1. 根据 ImageMagick文档,默认情况下计算最佳Huffman编码表。这一步已经照顾到了,太好了!
  2. 通过使用 stripImage() 方法可以非常简单地删除元数据

我测试了一张图片,大小减小了12KB。600x450的文件从63.42KB降至51.42KB,而140x105的缩略图从17.98KB降至5.98KB。


3

将您的图像通过雅虎的SmushIt服务,将图像转换为具有精确颜色数量的PNG格式。没有质量损失,但是会减少文件大小 :)


1
那是一个很棒的工具。不过看起来他们还没有将其设置为服务。 - Sonny

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接