GD vs ImageMagick vs Gmagick for jpg? [closed] GD vs ImageMagick vs Gmagick 对于 jpg 格式的图片? [已关闭]

21 浏览
0 Comments

GD vs ImageMagick vs Gmagick for jpg? [closed] GD vs ImageMagick vs Gmagick 对于 jpg 格式的图片? [已关闭]

我正在考虑放弃在我的网站中使用GD来处理图像-它太糟糕了。

大家都说要使用ImageMagick,因为它们比GD更好,但是ImageMagick和Gmagick(图像处理的瑞士军刀)之间有什么区别呢?

Zend在这里有一篇很好的文章http://devzone.zend.com/article/10531谈到了它们。

在我放弃ImageMagick之前,有没有理由选择gmagick呢?

(PHP 5.3+)

编辑:询问两个库哪个更好有什么问题?我认为这是一个公平的问题。如果有人能解释一个库优于另一个库的优点,那将帮助我和其他人阅读这个问题。为什么要关闭这样一个问题?

编辑2:对于每个问我需要做什么的人:我认为这是显而易见的:用户上传图像(可以是png/gif/bmp等),我需要将其转换为JPG,然后存储在数据库中,如果它们太大,我需要将其调整大小一点。

谢谢

0
0 Comments

GD vs ImageMagick vs Gmagick for jpg? [closed]

最近有人提出了关于GD图像库、ImageMagick和Gmagick在处理jpg图像方面的问题。他们想知道为什么不喜欢GD,是因为它的API,还是因为缺少功能,还是因为性能不佳。

有人建议他们尝试使用一个名为Imagine的图形库,这个库具有良好的OOP API,并且可以使用GD、ImageMagick和GraphicsMagick作为“后端”。这样一来,他们还可以测试哪个库的性能最好,而无需更改图像处理代码。

某些情况下了使用GD的一个问题,那就是它的内存使用量很高。对于一个大小为12Mb的jpeg图像,它会创建一个100Mb的资源。而且,如果你想要快速调整大小、裁剪或缩略图(裁剪和调整大小),你可以立即使用这些工具。更不用说所有的效果了。

还有人在2022年提到了使用GD的一些问题。在他们的网站上,一个复杂的1080p webp图像转换为一个页面上的~600p图像,会导致内存占用达到600MB。在同一请求中,连续处理10个png缩略图会超出1GB的限制,并导致500错误。他们观察到这个问题时,网站几乎没有其他请求。但是,切换回imagick就没有这个问题。他们想要在较新的7.4版本中使用GD的webp支持,但是在Web服务方面效果不好。他们已经尝试了6个月,用了各种可能的方法,但没有成功。他们打算在一年后再试一次。不是每个图像,只是一些特定的图像或情况会出问题。

另外,有人在2022年提到了其他一些在网站上动态生成缩略图的方法,比如使用cloudflare或thumbor。

人们对于GD、ImageMagick和Gmagick在处理jpg图像方面的选择存在一些问题和困惑。GD在内存使用、性能和特定图像处理方面存在一些问题,而ImageMagick和Gmagick可能提供了更好的解决方案。而且,使用其他工具或服务如Imagine、cloudflare或thumbor也可以是一种解决方法。

0
0 Comments

问题的出现原因是用户需要选择一个用于处理jpg图片的库,但是对于GD、ImageMagick和Gmagick三个选项不确定该选择哪一个。下面是解决方法:

根据维基百科的介绍,GraphicsMagick是从ImageMagick 5.5.2分支出来的。从我所看到的,GMagick没有引入新的功能;分支的重点是提高性能和稳定性,所以你应该自己测试和比较。从功能的角度来看,如果需要一个不仅仅支持基本调整大小和裁剪操作的库,我个人会更倾向于选择ImageMagick,因为它拥有庞大、有很好文档和数千个示例的库,这些示例非常有效。GraphicsMagick似乎没有类似质量的文档。

很可能GMagick没有ImageMagick 5.5.2版本之后添加的新功能。值得检查ImageMagick的变更日志,看看是否有你需要的任何新功能。

主观上看,ImageMagick显然是更受欢迎和知名的库,你可能会找到更多的支持、示例和脚本。此外,我怀疑性能差异在大多数使用情况下不会真正产生影响——根据我在过去十年中的经验,IM并不是最快的,但也不是最慢的图形处理库,完全适合大多数日常使用。

根据需要选择GD、ImageMagick或Gmagick库来处理jpg图片。如果需要更多的功能和文档支持,ImageMagick可能是更好的选择。另外,ImageMagick是更受欢迎和知名的库,因此可能会有更多的支持和示例可用。但对于大多数日常使用而言,三个选项在性能上的差异可能并不会产生真正的影响。

0