PHP图像调整创建图像与较低的质量


php image resize creating image with lower quality

我正在使用简单的图像大小调整方法

list($width, $height) = getimagesize($filename);
$new_width = $width * $percent;
$new_height = $height * $percent;

$image_p = imagecreatetruecolor($new_width, $new_height);
$image = imagecreatefromjpeg($filename);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);

imagejpeg($image_p, null, 100);

即使我已经把质量设置为最大值,当它涉及到较小的图像尺寸时,生成的图像质量非常差(原始500px到新的100px)。

还有其他方法可以提高图像质量吗?

是的,有一种方法可以提高质量:如果可能的话,使用ImageMagick而不是GD库。GD库的质量非常差。

try this

<?php
header('Content-type: image/jpeg');
$image = new Imagick('image.jpg');
// If 0 is provided as a width or height parameter,
// aspect ratio is maintained
$image->thumbnailImage(100, 0);
echo $image;
?>

源http://php.net/manual/en/imagick.examples - 1. - php