我不喜欢我出来的调整大小的图像,
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,因为我希望提高质量,但它没有变得更好。
如何提高调整大小的图像/缩略图的质量
答案 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。只是给出另一种选择;)