Мне нужно уменьшить загруженную картинку и сохранить её уменьшенной, но когда я уменьшаю и ставлю качество 60, как и в фотошопе, то картинка весит меньше в 2 раза чем сохранённая с таким же качеством в фотошопе и качество хуже. Попробовал поставить качество повыше, чтобы сравнять размер картинки с размером сохранённой картинки в фотошопе, то всёравно качество было намного хуже. Может ни те функции использую? Или может какие-то фильтры надо применить? Вот функция, с помощью которой уменьшаю и сохраняю изображение:
function imageresize($outfile,$infile,$neww,$newh,$quality) {
$im=imagecreatefromjpeg($infile);
$im1=imagecreatetruecolor($neww,$newh);
imagecopyresampled($im1,$im,0,0,0,0,$neww,$newh,imagesx($im),imagesy($im));
imagejpeg($im1,$outfile,$quality);
imagedestroy($im);
imagedestroy($im1);
}
Подскажите, возможно ли сделать качество как в фотошопе, не в ущерб размеру изображения?
Или может как-то можно автоматически заставить фотошоп изменять изображения и сохранять их?
Ответ
Не получится сохранить картинку "так же хорошо как в Photoshop" с использованием PHP, если не реализовать алгоритм сохранения из Photoshop на PHP (что было бы неоправданно сложной задачей).
Для улучшения соотношения вес/качество попробуйте использовать ImageMagick.
Комментариев нет:
Отправить комментарий