ImageMagick vs GD -更快,资源消耗更少,产生更好的图像


ImageMagick vs GD - which is faster, less resource intensive and produces better images?

我需要为以下图像处理任务选择ImageMagick或GD库:

  • 将图像调整为多种大小
  • <
  • 水印图像/gh>
正如你所看到的,我不需要任何花哨的东西。我确信这两个工具都能实现它们,所以如果其中一个比另一个有更多的额外功能,我真的不关心。

我主要关心的是性能和质量。这两种工具中哪一种消耗的资源更少,速度更快,产生的图像质量更好?

注:我需要使用它与各自的PHP api

就图像质量而言,我会倾向于ImageMagick。它似乎比GD2产生更清晰/更高质量的图像(以更大的文件大小为代价)

ImageMagick也不受PHP的内存限制

如果有疑问,请使用ImageMagick。我没有观察到在速度和资源使用方面有任何大的区别,但是IM更灵活,在许多领域的质量更好(尽管你可以期望两个库在水印方面取得不错的结果),并且支持方式更多格式。

许多复杂或无法用GD实现的高级操作都可以用ImageMagick轻松完成。

另一方面,许多托管提供商对ImageMagick的支持不如GD,因此您将添加相当大的依赖项。根据项目的性质,这可能是一个问题,也可能不是。

我已经构建了GD和ImageMagick库。如果使用得当,两者都可以很好地工作并产生相同大小的图像。然而,ImageMagic提供了更多的选项,这是我现在倾向于使用的。

此外,ImageMagick作为bash脚本或其他终端函数的独立工作非常好,这意味着您学到的东西在PHP之外也很有用。