两者都是php常用的扩展,GD是自带的,ImageMagick是需要安装扩展的.还有个GMagick(这货是ImageMagick的衍生分支,并没有鼓吹的多么完美.)
那么两者性能如何呢?
1.资源调用方面,ImageMagick胜
由于ImageMagick源自扩展,调用系统os资源,所以不受限于php设置,比如内存.但GD则受限于php了.
2.图片大小方面,GD胜
通常在处理小文件例如720p以下的图片,GD生成的图片尺寸会比ImageMagick小一些,质量基本无差.
3.处理时间方面,GD胜
在效率上ImageMagick是不如GD的,这点我在万次图像合成的实现中,有明显的体验.linux环境还好,差别差不多1.5-2倍,而windows至少是8-10倍!
4.图像质量,ImageMagick略胜
很多人都说ImageMagick生成的图片更清晰,我更倾向于这是种先入为主的观念,在实际测试中并没有多么明显的差距.但在小图片上ImageMagick确实会更清晰且可压缩算法更多.
5.功能与易用性,ImageMagick胜
ImageMagick比GD更易用且花样更多,加上第一点的资源优势,这是许多人使用ImageMagick的主要原因.
所以通常的建议是:若是花样玩的少,大图也不多那就用GD,也简单方便.而花样多又经常要大图的,那么就ImageMagick吧.
GD和ImageMagick是PHP中常用的图像处理扩展。GD内置在PHP中,资源调用受限;ImageMagick调用系统资源,性能更优。在处理小文件时,GD的效率和生成的文件尺寸更佳,但在图像质量和功能丰富度上,ImageMagick略胜一筹。对于简单需求和小图处理推荐GD,复杂场景和大图处理建议使用ImageMagick。

2448

被折叠的 条评论
为什么被折叠?



