使用PHP制作图像缩略图而不降低其质量

时间:2014-10-26 17:25:39

标签: php image gallery thumbnails

我使用以下代码制作图像的缩略图,但质量不符合标记。需要帮助

   <?php
    function make_thumb($src,$dest,$desired_width)

    {
    $source_image=imagecreatefromjpeg($src);
    $width = imagesx($source_image);//width of the image.
    $height = imagesy($source_image);//height of the image.
    $desired_height = floor($height*($desired_width/$width));
    $virtual_image = imagecreatetruecolor($desired_width,$desired_height);

 imagecopyresized($virtual_image,$source_image,0,0,0,0,$desired_width,$desired_height,$width,$height);
    $fname= basename($src); 
    $dir="upload/thumbs/";
    imagejpeg($virtual_image,$dir.$fname);

    }
    ?>

缩略图的大小合适但质量不合适。

2 个答案:

答案 0 :(得分:0)

您可以执行一些操作,例如将图像尺寸设置得更大(过采样),并按照样式或“你有什么”<img style="max-width: 80%;" />强制输出更小,但可能你的问题是你的问题您的imagejpeg()

未设置压缩
// This function has a quality setting (3rd value ranges from 0-100)
imagejpeg($virtual_image,$dir.$fname,100);

答案 1 :(得分:0)

您应该重新取样图像,而不仅仅是简单的调整大小。

像这样使用imagecopyresampled()

imagecopyresampled($virtual_image,$source_image,0,0,0,0,$desired_width,$desired_height,$width,$height);