Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php GD::imagejpeg()更好的替代方案?_Php_Image - Fatal编程技术网

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

Php GD::imagejpeg()更好的替代方案?,php,image,Php,Image,有没有比GD库imagejpeg更好的功能 我有一些质量问题(甚至使用85作为质量参数) 我需要上传一个图像(可以是png、jpg、gif等等),使用这个函数将它们转换成jpg格式,然后将它们上传到我的webiste(在这种情况下是db,但这不是问题) 目前使用的是imagecreatefromstring,然后是imagejpeg,质量太差了,有时尺寸会变大 除了这个糟糕的gd(您已经测试过…)还有什么php替代方案吗 谢谢我个人更喜欢ImageMagick而不是GD。它做得更多,做得更快:-

有没有比GD库imagejpeg更好的功能

我有一些质量问题(甚至使用85作为质量参数)

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

目前使用的是
imagecreatefromstring
,然后是
imagejpeg
,质量太差了,有时尺寸会变大

除了这个糟糕的gd(您已经测试过…)还有什么php替代方案吗


谢谢

我个人更喜欢ImageMagick而不是GD。它做得更多,做得更快:-它确实需要安装ImageMagick,但如果你问我的话,它是值得的。

你启用了隔行扫描吗? 您可能还希望在保存图像之前对其进行重新采样


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

GD的JPG过滤器在压缩和图像质量方面确实不是最好的

对于具有非常精细细节的照片,考虑使用95或99的极高质量设置。

或者,正如@v0idnull所暗示的,ImageMagick值得一试


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

您是如何创建图像的。。你能给我们发一些代码吗?我不是在创建我是在上传它然后把它传递给imagecreatestring。。NormalStuff您可以显示一个示例图像吗?我不能使用80-85以上作为质量,因为图像大小将大于原始源。。无论如何,以photoshop为例,我可以在jpg中保存我想要的任何东西,质量为8-9,而且质量非常好。为什么GD也不会出现这种情况:(@是的,Photoshop的压缩算法比GD的要好。恐怕没有办法使用Photoshop的。隔行与图像JPEG()的质量无关;我认为也没有重新采样