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

时间:2011-11-29 23:24:03

标签: php image-processing imagemagick gd

我需要在ImageMagick或GD库之间进行选择以进行以下图像处理任务:

  • 将图片大小调整为多种尺寸
  • 水印图片

如你所见,我不需要任何花哨的东西。我确信这两种工具都可以实现它们,所以如果一个人有比另一个更多的额外功能,我真的不在乎。

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

P.S。我需要将它与各自的PHP API一起使用。

3 个答案:

答案 0 :(得分:28)

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

ImageMagick也不受PHP内存限制的约束。

答案 1 :(得分:12)

如有疑问,请使用ImageMagick。我没有观察到速度和资源使用方面的任何重大差异,但IM在许多方面更灵活,质量更好(尽管你可以期望两个库中的水印效果都不错),并支持way more formats

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

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

答案 2 :(得分:8)

我已经构建了GD和ImageMagick库。如果正确使用,两者都可以正常工作并生成相同尺寸的图像。然而,ImageMagic提供了更多开箱即用的选项,是我现在所倾向的。

此外,ImageMagick非常适合作为bash脚本或其他终端函数的独立工具,这意味着您学习的内容在PHP之外非常有用。