PHP GD(intervention/image):质量因服务器而异



我在Laravel 4.1项目中使用干预/图像库(使用GD)来调整一些图像(jpg和png)的大小。在开发服务器上一切都很好,但在生产中,缩略图的质量非常差。

我以为这是GD的问题,但下面是安装的版本,它们看起来和我很相似:

dev:OSX Mavericks,php 5.4.19

  • GD支持:已启用
  • GD版本:捆绑(2.1.0兼容)
  • FreeType支持:已启用
  • FreeType连杆:带FreeType
  • FreeType版本:2.4.10
  • T1Lib支持:已启用
  • GIF读取支持:已启用
  • GIF创建支持:已启用
  • JPEG支持:已启用
  • libJPEG版本:8
  • PNG支持:已启用
  • libPNG版本:1.6.2
  • WBMP支持:已启用
  • XBM支持:已启用

产品:Ubuntu 12.04,php 5.4.25

  • GD支持:已启用
  • GD版本:2.0.36
  • FreeType支持:已启用
  • FreeType连杆:带FreeType
  • FreeType版本:2.4.8
  • GIF读取支持:已启用
  • GIF创建支持:已启用
  • JPEG支持:已启用
  • libJPEG版本:未知
  • PNG支持:已启用
  • libPNG版本:1.2.46
  • WBMP支持:已启用

这些配置是否遗漏了什么?有人能想出另一个问题吗?

非常感谢。

编辑:添加代码示例:

$image = Image::make(public_path("data/Bandeau/2/picto-sylvestre.png"))->resize(null, 70, true);

举个例子,"prod"服务器上的拇指结果就在这里(源图像)。在dev-server上,结果要好得多:这里的例子(好吧,我承认"很多"有点夸张,但在一些图像上,它更明显,甚至在这张照片上,也可以看到眼睛周围的细线)。

我终于在Ask Ubuntu上发布了这个问题,php 5.4似乎与GD 2.1不兼容(@GlennRanders Pehrson发现2.0和2.1之间可能有一个重大的算法变化——见评论)。这很奇怪,因为我在OSX开发机器上有这个配置(Php 5.4和GD 2.1)。

最新更新