Сжатие JPEG и прогрессивный JPEG

У меня есть базовый JPEG с высоким разрешением, который я хочу сжать с 6 МБ до + - 300 КБ для своего веб-сайта и сделать его прогрессивным.

Теперь я знаю, как делать и то, и другое: прогрессивное с помощью Photoshop и сжатие с помощью онлайн-инструмента или задачу gulp / grunt.

Мне интересно, каков наилучший порядок изображения (наилучшего качества):

  1. Сначала сожмите исходное изображение, а затем сделайте его прогрессивным.

  2. Сначала сделайте его прогрессивным, а затем сожмите изображение.

  3. не имеет значения :)


person TheMrkt    schedule 02.12.2017    source источник


Ответы (1)


Что касается качества, это сложный вызов, поскольку оно зависит от изображений, которые вы не показываете. И если вы собираетесь уменьшить размер в 20 раз, вы должны ожидать некоторой потери качества. Итак, оставляю вас для оценки качества. Что касается обработки ...

Вы можете сделать и то, и другое одновременно с помощью ImageMagick, который установлен в большинстве дистрибутивов Linux и доступен для macOS и Windows.

Убедитесь, что размер входного изображения составляет 6 МБ:

ls -lrht input.jpg

-rw-r--r--  1 mark  staff   6.0M  2 Dec 16:09 input.jpg

Убедитесь, что входное изображение не чересстрочно:

identify -verbose input.jpg | grep -i interlace
Interlace: None

Преобразование в JPEG с прогрессивной / чересстрочной разверткой и размером 300 КБ:

convert input.jpg -interlace plane -define jpeg:extent=300KB result.jpg 

Размер чека теперь меньше 300 КБ:

ls -lhrt result.jpg

-rw-r--r--@ 1 mark  staff   264K  2 Dec 16:11 result.jpg

Проверить сейчас чересстрочный:

identify -verbose result.jpg | grep -i interlace
Interlace: JPEG

Вы также можете использовать jpegtran, который легче, чем ImageMagick:

jpegtran -copy none -progressive input.jpg output.jpg
person Mark Setchell    schedule 02.12.2017