Теряется качество фото при уменьшении размера через PHP

kustov
На сайте с 23.04.2021
Offline
61
505

Есть PHP скрипт, который уменьшает фото. Вот его основной фрагмент, влияющий на изменение:

// $src - путь к файлу.

     $imold=imageCreateFromJPEG($src);

     $image=imagecreatetruecolor(200,200);
     imagefill($image, 0, 0, 0xffffff);
     ImageCopyresampled($image,$imold,0,0,0,0,200,200,800,800);
     header("Content-type: image/jpeg");
     imagejpeg($image, null, 100);

По идее должно уменьшать красиво, а по факту получается довольно смазанная картинка.
Берем фото 800х800, уменьшаем до 200х200.

Где ошибся? Или, может, уже придумали какие то новые библиотеки для более качественного сжатия?

S
На сайте с 13.10.2014
Offline
171
#1
нигде не ошиблись. Просто алгоритмы ресемплирования GD2  мягко говоря слабые.
если есть возможность использовать ImageMagick, лучше пользоваться им.

И еще один маленький лайфхак, пришедший из области дизайна. Если хотите четкую картинку.
Уменьшайте ее в несколько проходов например 800-600-400-200 в промежутках прошарпливая (Подсказка: imageconvolution ).
SeVlad
На сайте с 03.11.2008
Offline
1609
#2
kustov :
Где ошибся? Или, может, уже придумали какие то новые библиотеки для более качественного сжатия?

Оригиналы случаем не CMYK?

Ида imagick лучше gd.

jpegoptim не дожимает - Веб-строительство - Сайтостроение - Форум об интернет-маркетинге
jpegoptim не дожимает - Веб-строительство - Сайтостроение - Форум об интернет-маркетинге
  • 2021.09.06
  • searchengines.guru
Пытаясь оптимизировать кучу фоток на сервере , заметил что оптимизация с пом. jpegoptim как-то слабо проходит...
Делаю хорошие сайты хорошим людям. Предпочтение коммерческим направлениям. Связь со мной через http://wp.me/P3YHjQ-3.
Сергей
На сайте с 01.10.2010
Offline
149
#3
Исходник если четкий, то должно быть нормально. И ещё важно как исходник сохранен, оптимизировали ли его под веб. В остальном все сказали выше.
Вы знаете, я и сам немного... вебмастер

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий