PHP GD:调整大小的质量差?

时间:2010-09-01 10:57:34

标签: php

我不喜欢我出来的调整大小的图像,

imagecopyresized($resized_img, $new_img, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);

ImageJpeg ($resized_img,"$path_thumbs/$rand_name.$file_ext", 100);

我在ImageJpeg中添加了100,因为我希望提高质量,但它没有变得更好。

如何提高调整大小的图像/缩略图的质量

4 个答案:

答案 0 :(得分:26)

请尝试使用imagecopyresampled。这会进行插值,这将使事情看起来更好。

答案 1 :(得分:8)

自PHP 5.5起,您可以使用 imagesetinterpolation 来确定在转换过程中插入图像的方式(通常,缩放和重新采样,还有旋转,< / em> etc。)。

请参阅http://php.net/manual/en/function.imagesetinterpolation.php

对于图像下采样,您可能想要使用 IMG_SINC 算法,它往往会提供更清晰的结果。也用于轮换。

对于上采样,IMG_BICUBIC_FIXED,IMG_GENERALIZED_CUBIC和IMG_QUADRATIC可能会提供更好的结果。最终你必须测试它们:尽快在新创建的图像资源上设置此选项,在保存jpeg时将其与高质量标志结合使用,并且在使用GD时你应该完全没有工件。

答案 2 :(得分:5)

尝试使用imagecopyresampled代替。

答案 3 :(得分:0)

我使用timthumb。只是给出另一种选择;)