在服务器上处理图像的最佳方法?

Posted

技术标签:

【中文标题】在服务器上处理图像的最佳方法?【英文标题】:Best way to process images on server? 【发布时间】:2009-08-14 17:40:27 【问题描述】:

我知道关于 LAMP 设置的 GD 或 ImageMagick 有很多讨论。

不过,我似乎无法得到最好的答案,所以我将解释我的具体需求,也许有人可以提供帮助。

我将在一个社交网站上使用,用户将照片上传到那里的图片库。

我需要做的就是上传文件并从文件中制作 2 张缩略图,然后保存,这样每次上传都会有 3 张图片。

我还需要调整源图像的大小,但前提是它比 X 像素宽。

现在我使用 GD 在 php 中对此进行了编码,但我想知道 imagemagick 是否会更好。我知道 imagemagick 支持更多的文件类型,并且可以对图像执行更多特殊功能,但正如您所见,我不需要所有花哨的东西,只需调整大小即可。由于上传的文件的流量会很高,我希望使用可能在速度上表现最好但质量保持不变的任何一个。到目前为止,GD 图像的质量还不错,所以我知道 imagemagick 会更好,所以它归结为速度和系统资源。

我读到 imagemagick 可能会快一点,有人可以提供经验或意见吗?

【问题讨论】:

【参考方案1】:

我建议使用最简单的工具来做你需要的事情,根据我的经验,libgd 是一个很棒的库,特别是如果你只是调整大小,或者转换为已知格式。

使用 KISS 原则。

如果你发现你需要的不仅仅是 GD 所能做的,那就去使用 Imagemagik,但在那之前我会建议 libgd。

如果您真的担心,您可以同时安装两者,然后运行一些单元测试来比较速度和资源。只需使用大量大文件进行比较即可。

单元测试将帮助您确定速度有多快,并通过打印出测试前后使用的资源,您可以根据硬数据进行比较。

【讨论】:

【参考方案2】:

好吧,作为用户,我会投票支持支持更多图像格式的那个。我总是对拒绝接受我的 .png 和 .oggs 的媒体网站感到非常恼火。

【讨论】:

以上是关于在服务器上处理图像的最佳方法?的主要内容,如果未能解决你的问题,请参考以下文章

Android保存图像(经过一些处理)最佳方法

在服务器上存储图像的最佳实践

处理超高分辨率图像的最佳方法是啥?

在 UITableView 上显示图像的最佳实践

在 PHP 和 MySQL 上处理时区的最佳方法是啥?

处理发布到 Nodejs 服务器的 JSON 消息数组的最佳方法是啥?