两者都是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
吧.