GD :: imagejpeg()更好的替代方案?

时间:2011-02-28 17:34:18

标签: php image

是否有比GD库imagejpeg更好的功能?

我遇到了一些质量问题(即使使用85作为质量arg)

我需要上传一个图像(可以是png,jpg,gif等),使用此函数将它们转换为jpg,然后将em上传到我的网站(在这种情况下是db,但这不是问题)

目前使用imagecreatefromstring然后使用imagejpeg,质量非常糟糕,而且有时会变大。

任何php替代这个糟糕的gd(你已经测试过了......)?

由于

3 个答案:

答案 0 :(得分:1)

我个人更喜欢ImageMagick而不是GD。它做得更多,速度更快:http://ca2.php.net/imagick - 它确实需要安装ImageMagick,但如果你问我,它是值得的。

答案 1 :(得分:1)

GD的JPG滤镜在压缩与图像质量方面确实不是最好的。

对于细节非常精细的照片,请考虑使用95等甚至99的极高质量设置。

或者,正如@ v0idnull建议的那样,ImageMagick值得一试。

请记住,有些图像在JPG中永远不会好看 - 例如矢量插图。 JPG最适合于具有大量颜色变化和几乎没有相同颜色区域的照片和其他图像。

答案 2 :(得分:0)

你启用了隔行扫描吗? http://www.php.net/manual/en/function.imageinterlace.php 您可能还想在保存之前查看重新取样图像。

如果你决定离开GD,你可以查看imagemagick PECL扩展(http://php.net/manual/en/book.imagick.php)。比GD更麻烦,因为它不是内置于php,但可能正是你想要的。