我有照片库代码,可以调整图像大小和创建缩略图。我使用 ImageMagick 来做到这一点。我通过 Google 的 Page Speed 工具运行了一个图库页面,结果显示调整大小的图像和缩略图都具有大约 10KB 的额外数据(特别是 JPEG 文件)。

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


附加信息

我正在使用 imagick::FILTER_LANCZOS 模糊设置为的过滤器 0.9 当呼叫 resizeImage() 功能。JPEG 的质量设置为 80.

有帮助吗?

解决方案

我发现了这个问题,“JPEG 优化工具?”,其中有一些很好的信息,但解决方案不在 PHP 之外。使用该问题解决方案中的提示,我发现可以执行两种无损优化:

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

两者都可以通过以下方式完成 ImageMagick 这边走:

  1. 根据 ImageMagick 文档, ,默认计算最佳霍夫曼编码表。这一步已经完成了,耶!
  2. 去除 元数据 可以通过使用非常简单地完成 剥离图像() 方法。

我测试的一张图像减少了 12KB。600x450 文件从 63.42KB 变为 51.42KB,140x105 缩略图从 17.98KB 变为 5.98KB。

其他提示

通过雅虎SmushIt服务,其中,所述图像被转换到一个PNG与颜色的确切数目运行图像。没有损失的质量,但在重量损失:)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top