2010-03-29 129 views
8

我有图片库代码,可以进行图片大小调整和缩略图创建。我使用ImageMagick来做到这一点。我通过Google的Page Speed工具运行了一个图库页面,并且显示重新调整尺寸的图像和缩略图都具有额外的10KB数据(特别是JPEG文件)。JPG文件大小优化 - PHP,ImageMagick和Google的页面速度

我可以在脚本中添加什么来优化文件大小?


附加信息

调用resizeImage()功能时,我使用的是imagick::FILTER_LANCZOS滤波器的0.9模糊设置。 JPEG的质量设置为80

+0

你给ImageMagick什么参数? – asgerhallas 2010-03-29 18:00:14

+0

更新我的问题以解决设置/参数。我的理解是Google的Page Speed以无损方式去除10KB信息,它不会进一步压缩图像。是否有元数据我可以以某种方式去掉? – Sonny 2010-03-29 18:55:49

回答

10

我发现了这个问题,“Tools for JPEG optimization?”,它有一些很好的信息,但解决方案不在PHP中。从这个问题的解决方案使用提示我发现有可能进行两次无损优化:

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

  1. ImageMagick documentation,最佳Huffman编码表默认情况下计算的:两者都可以与ImageMagick这种方式来实现。这一步已经被照顾了,耶!
  2. 删除meta-data可以通过使用stripImage()方法非常简单地完成。

我测试的一个图像减少了12KB。 600x450文件从63.42KB增加到51.42KB,140x105缩略图从17.98KB增加到5.98KB。

3

通过雅虎的SmushIt服务运行您的图片,图片被转换为具有确切数量颜色的PNG。质量没有损失,但重量损失:)

+1

这是一个流畅的工具。不幸的是,它们看起来并没有将它设置为服务。 – Sonny 2010-03-30 21:33:50