Danon_13
Новичок
Всем привет, столкнулся с проблемой плохого качества изображений при изменении их размера (при этом если загружать оригинал без обработки, то на сайте всё нормально отображается)
как сохранить качество изображения при уменьшении изображения?
оригинал
измененный размер изображения (прин скрин того же размера)
Вот код, который я использую для изменения размера изображения
как сохранить качество изображения при уменьшении изображения?
оригинал
![](/talk/proxy.php?image=https%3A%2F%2Fpp.vk.me%2Fc626130%2Fv626130690%2F9414%2FjyYdtC7iC3M.jpg&hash=248237a9c06e2ebeff57c3a5fea72319)
измененный размер изображения (прин скрин того же размера)
![](/talk/proxy.php?image=https%3A%2F%2Fpp.vk.me%2Fc626130%2Fv626130690%2F941d%2Fi4UCRQKlVv8.jpg&hash=f60df7abed38341612fcbda7e7dd4e96)
Вот код, который я использую для изменения размера изображения
Код:
function resize ($filename, $size, $adress)
{
$pref = $adress;
$img = strtolower(strrchr(basename($filename), "."));
$imgname = basename($filename);
$formats = array('.jpg', '.gif', '.png', '.bmp');
if (in_array($img, $formats))
{
list($width, $height) = getimagesize($filename);
$new_height = $height * $size;
$new_width = $new_height / $width;
$thumb = imagecreatetruecolor($size, $new_width);
switch ($img)
{
case '.jpg': $source = @imagecreatefromjpeg($filename); break;
case '.gif': $source = @imagecreatefromgif($filename); break;
case '.png': $source = @imagecreatefrompng($filename); break;
case '.bmp': $source = @imagecreatefromwbmp($filename); break;
}
imagecopyresized($thumb, $source, 0, 0, 0, 0, $size, $new_width, $width, $height);
switch ($img)
{
case '.jpg': imagejpeg($thumb, $pref.$imgname, '100'); break;
case '.gif': imagegif($thumb, $pref.$imgname); break;
case '.png': imagepng($thumb, $pref.$imgname); break;
case '.bmp': imagewbmp($thumb, $pref.$imgname); break;
}
}
else return 'Error';
@imagedestroy($thumb);
@imagedestroy($source);
return $imgname;
}