Программа для сжатия изображений без потери качества. Базовая оптимизация изображений

Без потери качества. Под «без потери качества» подразумевается, что визуально оригинальные и оптимизированные изображения ни чем не будут отличаться. Я читал на Хабре довольно много статьей посвященных данному вопросу, но скажу, большая часть - полная чушь, в них констатируются факты, а не причины. Данный обзор посвящен людям, которые имеют базовые знания об оптимизации изображений.

PNG

И так, как же происходит оптимизация? Давайте разберемся по порядку, в основном это происходит из-за нескольких причин, и сейчас мы их рассмотрим.
Non-interlaced или Interlaced
Существуют два метода отображения изображений в браузере при загрузке:
  • Non-interlaced - браузеры загружают их последовательно, сверху вниз, по мере поступления информации из сети.
  • Interlaced - до полной загрузки файла изображение в браузере отображается в низком разрешении. т.е. сначала Вы увидите изображение низкого качества, затем, по мере поступления графической информации, качество изображения будет постепенно улучшаться. Чересстрочное отображение позволяет уменьшить субъективное время загрузки и показать пользователям, что изображение загружается, однако чересстрочное отображение также увеличивает размер файла.
В заключении дам пару ссылок, где подробнее рассмотрены способы отображения изображений в браузере при загрузке.
ColorType и BitDepth
ColorType нужен для оптимизации количества цветов в изображении. По этому критерию бываю следующие форматы PNG:
  1. Grayscale;
  2. Grayscale + alpha;
  3. Palette (256 цветов);
  4. RGB + alpha.
Технология ColorType как раз выбирает тот формат, при котором изображение будет весить меньше всего, но при этом визуально не изменится. Вот пример работы данной технологии (чтобы было честно, изображения были оптимизированы по одному и тому же алгоритму):

PNG RGB + alpha - 17 853 байт

PNG Palette - 13 446 байт

Разница в размере - 4407 байт (24%), при этом визуально картинки не изменились. Если Вы видите разные изображение, то это оптический обман.

BitDepth - битовая глубина, бывает двух видов:

  1. 1-bit;
  2. 2-bit;
  3. 4-bit;
  4. 8-bit;
  5. 16-bit.
Технология BitDepth аналогично ColorType.
Вот пример работы данной технологии (чтобы было честно, изображения были оптимизированы по одному и тому же алгоритму):

PNG 4-bit - 6 253 байт

PNG 8-bit - 5 921 байт

Разница в размере - 332 байт (5,3%), при этом визуально картинки не изменились. Если Вы видите разные изображение, то это оптический обман.

Обе технологии поддерживают почти все редакторы изображений, которые умеют сохранять в PNG, но об этом знают мало людей, и по этому разработчикам программ-оптимизаторов PNG приходится об этом заботиться.

Chunks
Если кто в танке не в курсе, PNG состоит из Chunks . Писать, что это такое Chunks не буду, можете сами прочитать. Лучше я покажу, для этого есть программа - TweakPNG , возьмите любое изображение формата PNG и откройте через данную программу и увидите всю структуру PNG.

Есть еще программы наподобие TweakPNG, но она лучшая и удобная. Об остальных программах расскажу в заключении.

Как видно из выше приведенного рисунка, существуют два вида Chunk (столбец Attributes):

  • Critical chunks присутствуют в любом PNG-изображении (IHDR , PLTE для PNG Palette, один и более IDAT и IEND).
  • Ancillary chunks являются дополнительными chunks, удаление тех или иных chunks позволяет уменьшить размер изображения, но не намного.
Оптимизация палитры
Может быть реализована только в PNG Palette, технология основана на оптимизации chunks PLTE , может уменьшить размер изображения, хотя и не намного. На мой взгляд лучше все это технология реализована в Color Quantizer , один из его алгоритмов был реализован и в TruePNG .
Оптимизация альфа-канала
Про эту технологию узнал от Сергея Чикуенока (Про PNG. Часть 3). Сейчас эта технология развита, и используется очень часть и дает существенный прирост к оптимизации. Главный недостаток - технология вводит изменения в само изображение (в Chunks IDAT), а не в структуру, однако визуально изображение не изменится. Могу привести в пример две программы:
  • TruePNG от автора Color Quantizer;
  • CryoPNG - более продвинутая технология оптимизации и требует большего времени, может увеличить степень сжатия.
Понимаю, тяжело понять, о чем я пишу, лучше покажу пример (чтобы было честно, изображения были оптимизированы по одному и тому же алгоритму, первое изображение с альфа-каналом, другое без альфа-канала).

Оригинальное изображение. Размер - 214 903 байт.

CryoPNG (параметр -f0). Размер - 107 806 байт.

CryoPNG (параметр -f1). Размер - 105 625 байт.

CryoPNG (параметр -f2). Размер - 107 743 байт.

CryoPNG (параметр -f3). Размер - 114 604 байт.

CryoPNG (параметр -f4). Размер - 109 053 байт.

Недостаток CryoPNG - требуется оптимизация всех пяти изображений для выявления наилучшего результата, а это в свою очередь требует большого количества времени.
TruePNG работает в этом плане аналогично CryoPNG -f0, в свою очередь CryoPNG -f0 является оптимальным с точки зрения оптимизации PNG (как говорится это просто опыт). По моим наблюдениям, CryoPNG -f1 и CryoPNG -f4 намного чаще оптимизируют PNG лучше CryoPNG -f0, по сравению с CryoPNG -f2 и CryoPNG -f3.

Алгоритм сжатия Deflate + Фильтрация строк
Как мы же говорили, PNG состоит из Chunks, в данном случае, нас интересует Chunks - IDAT. Для его сжатия в основном играют два фактора, фильтрация строк и алгоритм сжатия Deflate. Давайте об этом поговорим поподробнее.
Фильтрация строк
Фильтры , которые применяются в PNG, нужны для того, чтобы подготовить данные к сжатию и таким образом увеличить его степень. Фильтр обрабатывает каждую строку таким образом, чтобы приходилось кодировать не сами значения байтов, а разницу между текущим и предыдущим. От фильтра зависит, какой считается предыдущим.
  1. None - фильтр отсутствует;
  2. Sub смотрит байт в той же строке;
  3. Up - с тем же номером, что и текущий в предыдущей;
  4. Average берет оба и считает от них среднее арифметическое;
  5. Paeth смотрит байт перед байтом в предыдущей строке, сравнивает разницу и кодирует наименьшую.
Вообще говоря, нет каких-то определенных рекомендаций, какой фильтр выбирать. Для каждой строки можно выбрать свой фильтр, поэтому часто просто применяют все фильтры подряд и смотрят, с каким сжатие получается лучше всего. Существует еще один фильтр - Adaptive, - можно сказать это «микс» из фильтров. Фильтры поддерживают почти все программы оптимизаторы PNG, но лично мне известны только две программы, которые имеют более продвинутую систему создания фильтров:
PNGOut не создает такие фильтры, однако в новой версии появилась поддержка встроенных фильтров. Это было сделано по моей просьбе.
Алгоритм сжатия Deflate
На сегодняшний день есть несколько библиотек, основанных на алгоритме сжатия Deflate :
Библиотека
Deflate
Скорость
работы
Степень
сжатия
Программы Примечание
Zlib Высокая Низкая TruePNG

PNGWolf
Благодаря высокой скорости работы может быстро перебрать большое количество значение параметров и выбрать оптимальные.
7-zip Средняя Средняя
PNGWolf
Не всегда выбранные значения параметров в Zlib являются для них оптимальными (близки к оптимальным). Перебор значений параметров будет занимать большое количество времени и почти всегда затраченное время не оправдывает полученный результат.
Kzip Низкая Высокая PNGOut
PNGWolf использет одновременно и Zlib, и 7-zip.

Важно : все эти программы дополняют друг друга, и они сильны, когда едины. Это самое большая проблема, когда их используют отдельно, а потом сравнивают полученные результаты. В первую очередь надо использовать Zlib, а потом уже 7-zip и/или Kzip.

В следующей части мы поговорим об этих программах поподробнее, а также построим три алгоритма оптимизации PNG (с учетом оптимизации альфа-канала) по степени сжатия и затраченного времени. Ниже приведен условный график зависимости степени сжатия от затраченного времени на оптимизацию Chunks IDAT.

Как видно из графика, чем больше степень сжатия, тем больше времени требуется.

И еще немного...

Здесь мы поговорим о двух программах:
Рекомендую их использовать в самом конце оптимизации PNG и в том порядке, котором написал выше. Могут уменьшить размер PNG на несколько десятков байт, при этом скорость работы очень высокая.

JPEG

Итак мы переходим к JPEG, здесь все гораздо проще, и так продолжим. Но перед этим скажу, что JPEG нельзя пересохранить не потеряв качество, даже со степенью качеством 100 (это не максимальное качество, а математический предел оптимизации). Рассмотрим следующий пример (чтобы было честно, изображения были оптимизированы по одному и тому же алгоритму).

Оригинальное изображение - 52 917 байт.

Новое изображение (сохранен через Adobe Photoshop CS5, Save for Web 100) - 53 767 байт

Вот так вот сильно изменилась картинки, да, визуально ничего не заметно. Как видно размер картинки увеличился. Это из-за специфики библиотеки, которая создает JPEG, о библиотеках поговорим чуть позже.

Есть только одна программа, которая позволяет пересохранить изображения в JPEG не потеряв качество - BetterJPEG (есть плагин к Adobe Photoshop). Если не ошибаюсь, для жителей стран СНГ для некоммерческого использования программа бесплатная. Лично я использую BetterJPEG, когда нет исходника и требуется незначительное редактирование изображения. Рассмотрим пример работы BetterJPEG.

Оригинальное изображение.

Новое изображение (усложняем ситуацию, добавляем надпись «HTML»).

Строим diff-разницу изображений.

Markers
JPEG в отличие от PNG состоит из маркеров. Рекомендую прочитать статью «Структура файла, маркеры» , также рекомендую вообще посмотреть сам сайт. Самая мощная программа по изучению структуры JPEG - JPEGsnoop . Есть еще программы, но о них расскажу в заключении. Для изучения структуры JPEG рекомендую следующее изображение - PhotoME .
Удаления некоторых маркеров (APP0-APP15, COM), может существенно уменьшить размер изображения. Мне больше всего для этого нравится программа - Jhead , наиболее простая и удобная.
Progressive и Optimized
Существуют три метода отображения изображений в браузере при загрузке.
  • Стандартный. Сейчас почти не используется, аналогичен оптимизированному методу (степень сжатия хуже).
  • Оптимизированный (Optimized) - создается улучшенный файл JPEG с меньшим размером файла. Браузеры загружают их последовательно, сверху вниз, по мере поступления информации из сети.
  • Прогрессивный (Progressive) - изображение выводится как последовательность наложений, что позволяет отобразить изображение с низким разрешением до полной его загрузки, т.е. сначала Вы увидите изображение низкого качества, затем, по мере поступления графической информации, качество изображения будет постепенно улучшаться. Internet Explorer, включая восьмую версию, не поддерживает прогрессивную загрузку JPEG, он его показывает только после полной загрузки файла, что сильно отличается от поведения «традиционного» JPEG, когда изображение отображается сверху вниз, по мере загрузки.
Подробнее об этом можно прочитать в статье 09.05.16 5451

Уверены ли вы, что вся используемая на ваших страницах графика оптимизирована под веб? Перед тем, как сжать фотографию, наверняка вы уже выбрали подходящий формат для каждого изображения, а также постарались максимально уменьшить их размер.

Главная проблема заключается в том, что абсолютно не важно, насколько тщательно вы оптимизировали свое изображение, так как графические редакторы чаще всего сохраняют в самом подходящем варианте для публикации в интернете. И если не пропускать эти картинки через специальные инструменты для сжатия, их размер может существенно сказаться на скорости загрузки страниц.

Тестирование

В этой статье мы собрали 18 лучших инструментов для сжатия фотографию онлайн и локально. Большинство представленных программ предназначены для Windows и способны уменьшить размер изображений практически без потери качества. Кроме этого мы не забыли и о программах под Mac , а также веб-сервисах, так что каждый сможет найти подходящий вариант.

Мы попробовали сжать одинаковый набор GIF , PNG и JPG-изображений с помощью каждого описанного ниже инструмента, причем изображения уже были оптимизированы под веб, но нам все равно удавалось уменьшить их размер. Результаты получились довольно интересными! Давайте посмотрим, что нам удалось выяснить.

Программы

01. AdvanceCOMP 1.20

Платформа: Windows

Древний инструмент с командной строкой, в котором не приведено никаких инструкций. AdvanceCOMP вряд ли понравится среднестатистическому пользователю ПК . Если вы не боитесь batch-файлов , то вам будет проще совладать с этим инструментом.

Простая строка типа: for %a in («C:PNG FileFolder*.png») do advpng -z -4 «%a» позволит применить алгоритм сжатия без потери качества к каждому файлу, расположенному в указанной директории. После того, как сжатие размера фотографии произойдет, готовые файлы будут заменять исходные.

Но финальный результат сжатия PNG-изображения разочаровал нас, так как размер уменьшился всего на 14,2% (только этот инструмент дал столь низкий результат ).

Конечно же, это лучше чем ничего. И если вы планируете комбинировать несколько инструментов вместе, то AdvanceCOMP точно сыграет свою роль в оптимизации PNG-изображений .

02. Caesium 1.7.0

Платформа: Windows

Caesium – это простенький инструмент с открытым исходным кодом, который пригодится для сжатия изображений в форматах PNG , JPG и BMP . Программой просто пользоваться. Нажмите кнопку «Add » (Добавить ), выберите нужные изображения, затем укажите папку для размещения результатов (Output folder ), нажмите «Compress » (Сжать ), и буквально за несколько секунд задача будет выполнена.

BMP-сжатие нам было не интересно, а в технологии сжатия JPG здесь не представлено ничего нового. Здесь отсутствует возможность сжатия без потери качества, так как программа просто перекодирует файл с использованием указанных вами параметров качества.

Caesium умеет сжимать PNG-графику , однако и здесь вы столкнетесь с определенными ограничениями. Перед тем, как сжать фотографии для отправки, вы должны знать, что инструмент позволяет получать только 24-битные файлы, так что, если вы используете другие форматы, то изображения, скорее всего, лишь «наберут в весе ».

Это и показали результаты тестирования, так как большинство наших тестовых PNG-изображений стали весить еще больше. К счастью, если вас не устраивает результат, то можно просто не сохранять полученный файл. В целом, нам удалось добиться сжатия лишь на 1,2%, поэтому очевидно, что многие пользователи откажутся от этой программы.

03. FILEminimizer Pictures

Платформа: Windows

В FILEminimizer Pictures в отличие от большинства представленных в этой статье инструментов используется более радикальный подход к сжатию изображений. По умолчанию, он может изменять форматы, масштабировать изображения, перекодировать JPEG-данные с учетом необходимости снизить вес файла, а также удалять метаданные, что также сказывается на весе изображений.

Перед тем, как сжать фотографию для интернета, пользователи могут менять все эти настройки. Программа построена в привычном формате. После того как вы выбрали исходный файл, указали папку назначения, изменили значения опций, останется лишь один клик, после которого начнется оптимизация. Этот процесс происходит очень быстро.

Насколько хорошим получается результат? Все зависит от формата изображений. При сжатии PNG нам удалось получить до 26,8%. GIF-сжатие дало не больше 16,5%, но что касается формата JPG , то тут мы сжали вес файлов практически до 40%.

04. FileOptimizer

Платформа: Windows

Эта программа позволяет не только сжимать JPG , GIF и PNG , но также и работать с исполняемыми файлами, архивами, документами Microsoft Office , PDF и многими другими.

Удивляет то, что от расширенного функционала вовсе не страдает удобство использования. У этой программы один из самых понятных интерфейсов: просто перетащите изображения в FileOptimizer , щелкните правой кнопкой мыши и выберите «Optimize » (Оптимизировать ).

Но учтите, что программа заменяет исходные файлы новыми. Исходники перемещаются в корзину, и могут быть восстановлены при необходимости.

Как сжать сразу много фотографий? Используйте этот инструмент, ведь по уровню сжатия FileOptimizer показал очень хороший результат. PNG-изображение удалось сжать на 42,2%, а это лучший показатель. JPEG и GIF удалось уменьшить на 17,7% и 15,9% соответственно. Кроме этого FileOptimizer может похвастаться и другими преимуществами, среди которых возможность оптимизировать и другие файлы на вашем сайте.

05. ImageOptim 1.6.1

Платформа: Mac

Представляет собой инструмент, который оптимизирует GIF , JPEG и PNG-изображения , и выступает в качестве интерфейса для других приложений, среди которых PNGOUT , AdvPNG , Pngcrush , extended OptiPNG , JpegOptim , jpegrescan , jpegtran и Gifsicle .

Программа направлена на сжатие без потери качества: позволяет убрать комментарии, цветовой профиль и т. д. При этом она не перекодирует изображение и не уменьшает количество цветов. Как результат, у вас вряд ли получится существенно уменьшить вес файлов, но зато можно не беспокоиться за потерю качества изображений.

Для начала процесса сжатия нужно перетащить нужный элемент в окно программы. Это приложение нельзя назвать самым быстрым, но до тех пор, пока вы не начнете загружать в него тысячи фотографий в высоком разрешении, вряд ли это станет проблемой.

Результат получился неплохой, но не совсем тот, который мы ожидали. Gif-графику удалось сжать на 17,8%, PNG – на 17,8%, JPG-изображения уменьшились на 18,3%. Лучший результат можно получить при помощи других инструментов, но если вам нужно иметь под рукой стабильный и простой инструмент, то определенно стоит присмотреться к ImageOptim .

06. JPEGmini Lite

Платформа: Mac/Windows

Интересное приложение, в котором сжатие JPEG-изображений осуществляется в два этапа. Сначала с помощью продуманного алгоритма определяется, какая часть изображения может быть подвергнута сжатию без потери качества. А затем программа использует собственный JPEG-шифровщик , который формирует максимально сжатое изображение без существенной потери качества.

Для начала процесса перетащите изображения в окно программы (в бесплатной версии можно ежедневно сжимать до 20 изображений ), и она заменит исходные изображения новыми сжатыми версиями.

Стоит отметить, что результаты могут значительно отличаться. Например, нам удалось сжать JPG-файлы всего на 8,2%, но когда мы загрузили в программу 25 фотографий с очень высоким разрешением, их удалось сжать на целых 71,3% без видимой потери качества.

С простой веб-графикой вряд ли стоит ожидать от JPEGmini значительных результатов. Однако качество сжатия существенно увеличивается при работе с крупными изображениями. Это стоит учитывать перед тем, как сжать папку с фотографиями.

07. jStrip 3.3

Платформа: Windows

Инструмент для сжатия JPEG-файлов без потери качества, который позволяет удалить всю ненужную информацию: миниатюру, комментарии, цветовой профиль, дополнительные байты в начале и в конце файла и т.д.

Сжатие будет незначительным, так как не происходит перекодирования. Мы поняли это, когда попробовали сжать несколько JPG-изображений в высоком разрешении, и в результате получили файл всего на 1% «легче » оригинала.

Если сжимать маленькие файлы, то результат будет более ощутимым. К примеру, попытавшись уменьшить подготовленный к использованию на веб-странице JPEG-файл мы получили сжатие на уровне 16,1%.

Саму программу сложно назвать идеальной. По умолчанию она заменяет оригинальные файлы сжатыми версиями, так что вам придется работать с копиями.

08. OptiPNG 0.7.5

Платформа: Windows

Популярный инструмент для сжатия PNG-изображений на основе командной строки, который часто используется в других приложениях. Например, PNGGauntlet , о котором мы поговорим позже.

Программа снабжается подробной инструкцией, в которой объясняются все возможные опции и функции. Что касается результатов, то даже с настройками по умолчанию нам удалось сжать PNG-изображение на 32,2%.

Если вам нужно что-то проще, то PNGGauntlet имеет простой графический интерфейс (и сама программа в целом дала хорошие результаты по компрессии ). Но если вы хотите комбинировать несколько инструментов с командной строкой, то мы рекомендуем включить в список OptiPNG .

09. PNGGauntlet 3.1.2

Платформа: Windows

Инструмент, который можно использовать в качестве интерфейса для трех других open-source программ (PNGOUT , OptiPNG , DeflOpt ). При этом приложение позволяет эффективно сжимать графические файлы.

В использовании PNGGauntlet похож на остальные программы. Но в этом приложении процесс сжатия займет немного больше времени из-за комбинации сразу трех инструментов. У нас ушло около часа на то, чтобы сжать 25 фотографий в высоком разрешении в формате PNG .

Результат нас впечатлил. При сжатии PNG PNGGauntlet уменьшил размер 50 изображений на 41,3%.

Перед тем, как сжать сразу несколько фотографий с помощью этого приложения, подумайте, стоит ли это столь долгого ожидания? Но если вам нужен инструмент для качественного сжатия PNG-изображений , то PNGGauntlet точно попадет в ваш арсенал.

10. PNGOptimizer 2.4.2

Платформа: Windows

Учитывая размер (146 КБ ), PNGOptimizer является самой миниатюрной программой из всех представленных, поэтому неудивительно, что ее интерфейс настолько примитивен. Она ориентирована на работу с PNG-файлами .

Но набор опций компрессии впечатляет. PNGOptimizer способен убирать чересстрочность, заменять фоновый цвет, а также убирать текст и многое другое.

Кроме этого данная программа способна импортировать GIF , BMP или TGA-файлы , и сохранять их в формате PNG в соответствии с указанными параметрами.

При этом PNGOptimizer однозначно уступает своим конкурентам по эффективности, так как нам удалось сжать высококачественные PNG-картинки всего лишь на 3,6%.

С веб-графикой дела обстоят гораздо лучше, и нам удалось получить почти 40% сжатия. Если вам нужно небольшое и простенькое решение для работы с PNG , то PNGOptimizer – это вариант!

11. PNGOUTWin 1.5.0

Платформа: Windows

Один из лучших инструментов для сжатия изображений. К сожалению, им неудобно пользоваться, так как он представляет собой командную строку, и не поддерживает режим пакетной обработки. Если для вас все это проблема, то можно воспользоваться платным интерфейсом PNGOUTWin .

Программа имеет множество настроек. Вы можете использовать PNGOUTWin для перезаписи исходных изображений, либо создать сжатые копии в отдельной папке.

Для начала процесса перетащите нужные файлы в окно программы, и тут же запустится процесс компрессии. Причем сжатие выполняется в несколько потоков, а это значит, что программа способна обрабатывать несколько изображений одновременно.

Также нас поразил результат: веб-графика в формате PNG была сжата на 40,5%. Но сейчас можно найти много сервисов для сжатия размера фотографии онлайн.

12. PUNYpng

Платформа: Веб-сервис

Сервис способен производить компрессию без потери качества не только PNG-файлов , но также и GIF/JPG . Зарегистрироваться в этом сервисе можно абсолютно бесплатно, но у него есть некоторые ограничения: загружать можно до 15 изображений за раз, и каждое из них может «весить » не более 150 кб.

Это не большая проблема, учитывая простоту использования. Перейдя на сервис, нажмите кнопку «Upload Images », а затем подождите, пока в процессе загрузки все изображения будут оптимизированы. После этого будет представлен отчет о проделанной работе, а также возможность скачать набор обработанных изображений в виде ZIP-архива .

Бесплатный аккаунт предполагает возможность только lossless-компрессии . PUNYpng дает достаточно хороший результат, и в тестах нам удалось получить от 16% до 32% сжатия различных форматов. За небольшую плату ($2 в месяц ) можно получить PRO-аккаунт , который позволяет осуществлять и lossy-сжатие . В данном случае предусмотрена возможность загружать много файлов большего размера.

Если вам необходим именно веб-сервис и вас не смущают ограничения, то PUNYpng можно по праву считать эффективным и простым в использовании вариантом.

13. RIOT 0.5.2

Платформа: Windows

Хотя RIOT бесплатен, это, пожалуй, единственная программа для сжатия изображений, которая в процессе установки попытается предложить дополнительное программное обеспечение. Не забудьте снять соответствующую галочку, если вам не интересно это предложение.

Опрятный и понятный интерфейс позволяет сжимать отдельные GIF , PNG или JPG-изображения , а также сравнивать результат с оригиналом, в то время как многопоточный процесс обрабатывает сразу несколько изображений.

К сожалению, здесь нельзя производить компрессию без потери качества. RIOT предназначен для уменьшения количества цветов в изображениях, перекодировки JPEG в изображение с более низким качеством. Даже несмотря на эти факты, программа умудрилась сделать некоторые наши файлы даже больше в размере. Рекомендуем тщательно проверять результаты, полученные при помощи RIOT .

Перед тем, как сжать папку с фотографиями, вам стоит знать, что этот инструмент отлично работает с GIF-графикой , которую нам удалось сжать на 42,8%.

14. ScriptJPG

Платформа: Windows

Один из самых примитивных инструментов, представленных в этой статье. Он представляет собой скрипт, который выступает в качестве интерфейса для нескольких инструментов командной строки. Перетащите JPG файлы в открытое окно скрипта, укажите опции компрессии, и ScriptJPG сделает все остальное.

Инструмент, несмотря на обещания в рекламе и пресс-релизе, не работает с веб-графикой JPG . Мы так и не поняли, в чем причина, так как строение ScriptJPG настолько просто, что даже нельзя увидеть сообщения об ошибках.

Нам все же удалось использовать набор JPG-фотографий для тестирования, и результат получился приемлемым. Нам удалось сжать каждую фотографию на 10%.

Если же вы относитесь к простым пользователям ПК , то мы рекомендуем применять что-нибудь с графическим интерфейсом.

15. ScriptPNG

Платформа: Windows

ScriptPNG приходится «родственником » ScriptJPG . Это batch-файл для Windows , в котором задействуется четыре утилиты для уменьшения размера PNG-файлов .

Перед тем, как сжать фотографию для интернета, перетащите изображения на сам файл, после чего откроется командная строка с девятью возможными способами компрессии. Выберите наиболее подходящую опцию, и после этого программа закроется, начав обрабатывать файл за файлом (заменяя исходные изображения ).

При тестировании у нас возникли проблемы с исполняемым файлом pngout.exe, и поэтому нам пришлось закрывать каждое сообщение об ошибке вручную.

Несмотря на неудобства, уровень сжатия был поразительным. Веб-графику в формате PNG удалось уменьшить на 40.1%.

Не можем не согласиться с тем, что скриптовый подход дает больше контроля над процессом компрессии. Если вам не нравится что-то в ScriptPNG или вы хотите добавить какие-нибудь другие инструменты и опции, то можете отредактировать файл скрипта соответствующим образом.

16. Smush.It 0.5

Платформа: Веб-сервис

Большинство веб-сервисов для сжатия размера фотографии онлайн имеют значительные ограничения, но Smush.It – редкое исключение. В нем существует ограничение в 1 Мб на каждый файл, но зато система позволяет загружать сколько угодно файлов. Здесь не нужно регистрироваться, не нужно создавать и заполнять аккаунт, отсутствуют дневные лимиты. Готовые изображения можно скачать в виде ZIP-архива .

Главным недостатком сервиса является то, что нельзя изменить настройки сжатия.

В результате это вылилось в реальную проблему, когда мы поняли, что наши тестовые JPG-файлы уменьшились лишь на 1%. PNG-сжатие оказалось более внушительным – до 35%, а сжатие GIF вообще поразило – нам удалось получить 23,9% (пожалуй, это лучший результат lossless-сжатия из всей подборки ).

Нам бы хотелось больше влиять на настройки компрессии, но если вас устраивает такой подход, то мы рекомендуем попробовать Smush.It .

17. TinyPNG

Платформа: Веб-сервис

TinyPNG представляет собой бесплатный веб-сервис для оптимизации изображений. Перетащите файлы на веб-страницу, после чего сервис сожмет их и предоставит ссылки для скачивания.

У этого инструмента для сжатия фотографии онлайн есть ограничения: размер файла не должен превышать 2 Мб, а при получении результата придется по очереди скачивать каждый готовый файл.

В TinyPNG его алгоритм полностью перерабатывает палитру и уменьшает количество задействованных цветов. Благодаря этому веб-графику в формате PNG нам удалось сжать на 48% (лучший результат в этой подборке ). И в большинстве случаев вы вряд ли сможете отличить оригинал от оптимизированного изображения.

Стоит отметить, что несколько инструментов из данной подборки также давали до 40% сжатия, но если для вас важно качество итогового изображения, то мы определенно рекомендуем использовать TinyPNG .

18. Trout’s GIF Optimizer

Платформа: Windows

Миниатюрный инструмент для сжатия изображений. Его не нужно устанавливать, просто распакуйте архив, и он готов к работе. Программа предназначена исключительно для компрессии GIF-графики , и здесь не представлено каких-либо настроек.

Все это как минимум значительно ускоряет работу Trout’s GIF Optimizer . Импортируйте выбранные фотографии, и процесс компрессии начнется. Вы сразу увидите готовые изображения, которые можно скачать всего в несколько кликов.

Этот инструмент не может похвастаться хорошими результатами сжатия: нам удалось сжать веб-графику в формате GIF всего на 16,7%.

Результаты

Примечание: некоторые тесты проводилось на предыдущих версиях программного обеспечения.

В завершение

После долгих часов тестирования, оценки и составления списка, мы выяснили для себя как минимум одно: сжатие фотографий онлайн может давать абсолютно неожиданные результаты.

Нам удавалось сжимать PNG-файлы на 30-40%, и даже JPEG-изображения сжимались на 16-18%. Речь идет именно о lossless-компрессии , а, значит, без влияния на качество изображений. На выходе получались точно такие же файлы, но с меньшим весом.

Так какие же инструменты лучше использовать? FileOptimizer предлагает лучшую производительность lossless-сжатия на базе Windows , и позволяет добиться 42,2% сжатия PNG-файлов , дает внушительные результаты при работе с JPG и GIF . А также предлагает несколько полезных опций (например, сжатие PDF-документов ).

Но если этот вариант вам не подходит, то можно присмотреться к PNGGauntlet и ScriptPNG , которые также хорошо сжимают PNG . ImageOptim для Mac показал хороший результат при работе с JPEG и GIF-файлами .

Веб-сервисы для сжатия размера фотографий онлайн показались нам менее удобными, и поэтому мы бы не рекомендовали ими пользоваться. Лучший результат сжатия JPG без потери качества показал PUNYpng , а Smush.It лучше справляется с GIF-файлами . В любом случае каждый из представленных инструментов поможет вам хоть немного «облегчить » страницы сайта, и значительно ускорить его работу. Выбор за вами!

Перевод статьи “18 image file compression tools tested ” был подготовлен дружной командой проекта .

Хорошо Плохо

Сжатие изображений – очень важный процесс, ведь в конечном итоге он позволяет сэкономить место на жестком диске, способствует увеличению скорости загрузки сайта и экономии трафика. Но, как разобраться среди множества различных программ для оптимизации изображений, каждое и которых имеет свой особенный функционал? Давайте узнаем о возможностях самых популярных приложений для сжатия изображений.

Программа для сжатия фотографий без потери качества RIOT отличается не только широким функционалом, кроме компрессии файлов включающим возможность изменения их размера и конвертации в другие форматы, но и очень удобным интерфейсом. Важно то, что данное приложение поддерживает оптимизацию сразу нескольких форматов графических файлов.

Главным минусом приложения является отсутствие русскоязычного интерфейса.

Caesium

Ещё одной популярной программой для оптимизации фотографий является Caesium. Главной фишкой данного приложения является высокая точность настроек сжатия изображений. Эта утилита также имеет очень удобный графический интерфейс. Кроме того, в отличие от большинства программ для оптимизации картинок, приложение Цезиум русифицировано.

В то же время, несмотря на то, что данная программа работает с несколькими форматами графических файлов, она поддерживает обработку далеко не всех популярных расширений. Например, Caesium не работает с форматом GIF.

Light Image Resizer

Довольно мощной программой для сжатия и оптимизации фотографий является приложение Light Image Resizer. Данный программный продукт, несмотря на свой относительно простой вид – серьезная утилита для обработки изображений. Хотя сжатие картинок – это главная функция данной утилиты, но, кроме того, она имеет в своем багаже целый ряд инструментов для редактирования фотографий. Программа производит обрезку, наложение эффектов, уменьшение физического размера изображения, конвертацию в различные форматы. Отечественному пользователю придется по душе тот факт, что утилита Light Image Resizer – полностью русифицирована.

Данное приложение не имеет существенных недостатков. Разве, что принять за недостаток тот факт, что эта программа одна из немногих, описанных в данном обзоре, которая имеет условно-бесплатную лицензию. То есть, за её продолжительное использование придется заплатить.

Advanced JPEG Compressor

В отличие от предыдущих приложений, программа Advanced JPEG Compressor не специализируется на сжатии нескольких типов графических файлов, а сконцентрирована на работе с одним форматом – JPEG. Она считается одной из лучших утилит для оптимизации файлов с данным расширением, обеспечивая высокую компрессию и скорость сжатия. Кроме этой первостепенной задачи, программа имеет функцию редактирования изображений, в том числе с помощью удобного графического эквалайзера. Она способна конвертировать целый ряд популярных графических форматов в фалы с расширением JPEG. Кроме того, производится обратная конвертация изображений JPEG в формат BMP.

Но, официальная версия данной программы, к сожалению, не русифицирована. К тому же, функционал бесплатной версии, которой можно пользоваться непродолжительный период, очень урезан.

PNGGauntlet

Аналогичным вариантом предыдущей программы, только специализирующимся на сжатии изображений в формате PNG, является утилита PNGGauntlet. Благодаря встроенным инструментам PNGOUT, OptiPNG, Defl Opt данная программа очень качественно сжимает фотографии данного формата. Кроме того, она конвертирует целый ряд графических форматов в картинки PNG.

Но, к сожалению, общий функционал этой программы достаточно ограничен, и она не имеет больше возможностей, кроме тех, которые указаны выше. Кроме того, приложение не русифицировано.

OptiPNG

Приложение OptiPNG, как и предыдущее, так же предназначено для сжимания картинок в формате PNG. Более того, оно входит как компонент в программу PNGGauntlet, но может использоваться и отдельно, обеспечивая высокое качество компрессии данного типа файлов. Кроме того, существует возможность конвертации ряда графических форматов в формат PNG.

Но, стоит отметить, что существенным неудобством данной программы является отсутствие графического интерфейса, так как она работает через консоль командной строки.

Jpegoptim

Аналогом программы OptiPNG, только предназначенным для обработки файлов в формате JPEG, является утилита Jpegoptim, которая также работает из консоли командной строки, и не имеет графического интерфейса. Но, несмотря на это, она считается одной из лучших по уровню компрессии картинок JPEG, и быстроты работы с ними.

Но, в отличие от OptiPNG, данное приложение не имеет возможности конвертации изображения других форматов в формат, на котором оно специализируется (JPEG), то есть является ещё более функционально ограниченным.

FileOptimizer

В отличие от предыдущей программы, приложение FileOptimizer не концентрирует свое внимание на работе только с одним типом файлов. Более того, оно способно сжимать не только изображения, но и видео, аудио, документы, программы и т.д. Перечень форматов, файлы которых FileOptimizer может оптимизировать, просто впечатляет. Но, несмотря на свою «всеядность», программа очень проста в работе.

В то же время, нельзя не отметить, что побочным эффектом универсальности данной программы являются её относительно слабые возможности по работе с файлами графических форматов. Например, в отличие от большинства программ для сжатия картинок, не может проводить даже элементарное редактирование изображений.

Faststone Image Viewer

В отличие от предыдущей утилиты, программа Faststone Image Viewer является как раз комплексным приложением для работы с изображениями, причем сжимание фотографий далеко не главная её функция. Эта программа является, в первую очередь, мощным просмотрщиком и редактором картинок, работающим с огромным количеством графических форматов.

Нужно отметить, что данное приложение нерационально использовать, если вы планируете эксплуатировать его только в качестве инструмента для сжимания фотографий. Это объясняется тем, что собственный вес программы Faststone Image Viewer довольно большой, а управление процессом компрессии, осложнено перенасыщенным функционалом утилиты.

Как видим, разнообразие программ для сжатия и оптимизации изображений довольно большое. Они могут специализироваться как на отдельном формате фотографий, так и поддерживать возможность работы с множеством форматов картинок, и даже с совершенно других типов данных. Эти утилиты могут иметь только одну функцию – сжатие изображений, или же быть очень многофункциональными, при этом компрессия файлов может являться далеко не главной их задачей. В общем, пользователи имеют возможность выбрать именно то приложение для сжатия фотографий, которое им больше подходит.

В нынешний век мобильных технологий оптимизация картинок в форматах PNG и JPG,JPEG стала снова актуальна, как это было актуальным в те времена, когда интернет только входил в нашу жизнь и был повсеместно медленным и диалапным. Мобильный интернет, конечно, не совсем корректно сравнивать с диалапом, но местами, где связь плохая, там и скорость доступа довольно маленькая. Да и в те времена пользователю было некуда деваться, и приходилось ждать загрузки страницы. Сейчас же интернет вырос, выбор сайтов большой. Пользователь стал капризным и нетерпеливым, и среднее время ожидания загрузки страницы сильно уменьшилось. Пользователю проще найти другой более шустрый сайт.
Да и поисковые гиганты навроде Google или Yandex начали обращать внимание на то, как быстро грузятся сайты, отдавая предпочтение в выдаче тем, что пошустрее. Не последнюю роль в этом играет и вес страницы, который, в свою очередь, сильно зависит от веса располагающихся на ней изображений. Довольно очевидно, что иметь компактные сжатые картинки выгодно всем. Поэтому здесь я хочу поговорить о том, как подготовить ваши PNG и JPG, JPEG файлы к заливке на хостинг.

Базовая оптимизация изображений

Тут подразумевается обрезка ненужных полей, уменьшение глубины цвета, удаление комментариев и сохранение изображения в подходящем формате. Для этого можете воспользоваться Adobe Photoshop, или, если у вас его нет, MS Paint или GIMP.
Даже элементарная обрезка изображения неплохо снизит его вес.

Как уменьшить изображение в MS Paint

Покажу на примере MS Paint, как уменьшить изображение до нужных размеров.
Возьмём для примера лого NGINX и его изображение nginx.png размером 2000×417 пикселей, которое нужно обрезать по ширине до 1024, т.к. это ширина вёрстки страницы, и делать больше нет смысла.

На выходе получаем картинку, которая прошла минимальную базовую оптимизацию. Пора переходить к сжатию её веса.

File Optimizer для сжатия PNG и JPG,JPEG

Наиболее простой и быстрый способ добиться оптимального сжатия изображений без потери качества — использовать программу File Optimizer

Официальный сайт и описание программы :

Скачать File Optimizer вы можете с

Описание . Является эффективным оптимизатором не только для изображений, но также и для.pdf, .docx, txt и иных текстовых, аудио- и видеофайлов, а также архивов. Полный список поддерживаемых расширений вы найдёте на официальной странице проекта.
Вот некоторые из утилит, используемых в работе: AdvanceCOMP, APNG Optimizer, CSSTidy, DeflOpt, defluff, Gifsicle, Ghostcript, jhead, jpegoptim, jpegtran, Leanify, mozjpeg, MP3packer, mp4v2, OptiPNG, PngOptimizer, PNGOUT, pngquant, pngrewrite, pngwolf, TruePNG, tidy-html5, ZLib, zRecompress . Думаю, даже этот неполный список довольно внушителен.

Установка и использование File Optimizer

Сначала скачиваете последнюю версию программы либо в виде инсталлятора, либо архива с файлами. Кстати, в архиве есть версия под 32-битную и 64-битную версии Windows.

Интерфейс довольно простой и интуитивно понятный.
В настройке не нуждается, но вы можете некоторые форматы настроить под себя с помощью кнопки Options...
Использование . Вы либо перетаскиваете нужные файлы и даже папки (каталоги) в окошко программы, либо выбираете нужные через меню Add files...
Для оптимизации файлов жмёте Optimize all files

Оптимизированные файлы заменят собой исходники, иерархия категорий также сохранится. Напротив каждого файла будет показана статистика, сколько в процентах от исходного размера файла весит оптимизированная версия.
После завершения работы внизу в статусной строке будет выведена статистика по количеству обработанных файлов, а также сколько получилось сэкономить.

На мой взгляд, File Optimizer свою работу выполняет очень качественно.
Единственный минус, если список файлов большой, ждать результатов можно долго, но оно стоит того.

Если вас интересуют подробности способов оптимизации, которые можно настроить на свой лад, далее пойдёт речь про настройку и использование утилит для сжатия изображений

Cжатие PNG без потери качества

Рассмотрим 3 программы для оптимизации PNG:

  • Adobe Photoshop
  • OptiPNG
  • PNGOUT

Сравним их по качеству сжатия картинок. Сжимать будем nginx.png из предыдущего раздела. Вес оригинала 27,5 Кб.

Cжатие PNG с помощью Adobe Photoshop

Первый в списке — хорошо известный всем фотошоп. Многофункциональный комбайн для дизайнера, который умеет почти всё, в том числе и сжимать изображения.
В фотошопе открываем Файл-Cохранить для Web либо используем комбинацию Alt+Shift+Ctrl+S

В результате получаем 22,7 Кб, т.е. сжали на 17,5%

К сожалению, большинство графических программ не способны раскрыть весь потенциал алгоритмов, используемых для сжатия PNG. Главная причина в том, что для определения оптимальной стратегии сжатия они используют эвристические алгоритмы, которые позволяют без проведения компрессии прикинуть эффективность тех или иных параметров, что, в результате, даёт большой процент ошибок. Поэтому для сжатия PNG мы используем специально созданные для этого утилиты, а именно OptiPNG и PNGOUT.

Использование OptiPNG для сжатия PNG

Как установить и пользоваться OptiPNG

Скачали.exe, залили в C:\Windows, взяли нужный PNG-файл, положили в какую нибудь папку. Теперь с помощью FAR Manager либо другого файлового менеджера с поддержкой консоли зашли в эту папку и ввели команду в консоль

Optipng -o7 nginx.png

Команда заставляет сжать PNG в папке. Позже рассмотрим простой вариант, как делать сжатие в один клик.
Но сначала взглянем на результат.

18,8 Кб, т.е. сжали на 31,6%, почти на треть. Весьма недурно, неправда ли? У фотошопа получилось намного хуже.

Использование PNGOUT для сжатия PNG

Как установить и пользоваться PNGOUT

Всё точно так же, как и для OptiPNG. Скачиваете PNGOUT.exe, закидываете в C:\Windows, открываете в файловом менеджере, например, Far Manager папку с PNG, и в командной строке пишете

Pngout nginx.png

Результат ниже

Результат 23,4 Кб, т.е. удалось сжать на 15%. Весьма неплохо.

Вообще, скажу сразу, у меня были разные результаты с разными файлами, где-то PNGOUT работал эффективнее, где-то OptiPNG, поэтому советую прогонять изображения по очереди через обе утилиты.

Как быстро сжать PNG в OptiPNG и PNGOUT

Создаёте файл png.reg и записываете туда данные для реестра

Windows Registry Editor Version 5.00 @="Run OptiPNG on Folder" @="cmd.exe /c \"TITLE Running OptiPNG on %1 && FOR /r \"%1\" %%f IN (*.png) DO optipng -o7 \"%%f\" \"" @="Run PNGOUT on Folder" @="cmd.exe /c \"TITLE Running PNGOUT on %1 && FOR /r \"%1\" %%f IN (*.png) DO pngout \"%%f\" \""

Потом запускаете этот файл и записываете данные в реестр Windows.
Теперь при клике по папке с файлами PNG, которые нужно сжать, выбираете нужные вам команды, сжатие произойдёт автоматически и для всех изображений разом.

Чтобы удалить всё из контекстного меню, записываете нижеследующий код в png.reg и запускаете его

Windows Registry Editor Version 5.00 [-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\OptiPNG] [-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\OptiPNG\command] [-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\PNGOUT] [-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\PNGOUT\command]

Cжатие JPG, JPEG без потери качества

Для оптимизации JPG, JPEG по аналогии с PNG существуют свои утилиты: jpegtran и jpegoptim. Конечно, вы можете пользоваться фотошопом, однако для сжатия JPG, JPEG я настоятельно рекомендую пользоваться именно ими.

Как установить, настроить и использовать jpegtran

jpegtran — мощная утилита, позволяющая выполнить как просто сжатие JPG без потери качества, так и сжатие с определённым уровнем сглаживания, и даже преобразование в Progressive JPEG.
Скачать jpegtran можно тут http://jpegclub.org/jpegtran/ (ищете и качаете jpegtran.exe).

Как сжать JPG, JPEG с помощью jpegtran

Заливаете jpegtran.exe в C:\Windows
Потом открываете в Far Manager папку с нужным JPEG и в консоли вводите

Jpegtran -copy none -optimize -outfile min.1.jpg 1.jpg # Базовая оптимизация 1.jpg # -copy none убирает метаданные из JPG # -optimize оптимизирует изображение

Progressive JPG, JPEG

Это такой тип JPG, который при загрузке страницы сначала показывает общие очертания, потом догружается и доводит качество картинки до максимального. Очень удобно для медленного мобильного интернета, и потому его необходимо использовать.

Jpegtran -progressive -outfile 1.jpg 1.jpg # Трансформирует формат 1.jpg в Progressive

Как проверить, является ли изображение Progressive JPEG

Расширенные возможности jpegtran

Здесь рассмотрены все возможные варианты использования jpegtran

Jpegtran --help usage: jpegtran inputfile outputfile Switches (names may be abbreviated): -copy none Copy no extra markers from source file -copy comments Copy only comment markers (default) -copy all Copy all extra markers -optimize Optimize Huffman table (smaller file, but slow compression) -progressive Create progressive JPEG file Switches for modifying the image: -crop WxH+X+Y Crop to a rectangular subarea -flip Mirror image (left-right or top-bottom) -grayscale Reduce to grayscale (omit color data) -perfect Fail if there is non-transformable edge blocks -rotate Rotate image (degrees clockwise) -scale M/N Scale output image by fraction M/N, eg, 1/8 -transpose Transpose image -transverse Transverse transpose image -trim Drop non-transformable edge blocks -wipe WxH+X+Y Wipe (gray out) a rectangular subarea Switches for advanced users: -arithmetic Use arithmetic coding -restart N Set restart interval in rows, or in blocks with B -maxmemory N Maximum memory to use (in kbytes) -outfile name Specify name for output file -verbose or -debug Emit debug output Switches for wizards: -scans file Create multi-scan JPEG per script file

Как быстро на автомате сжать JPEG с помощью jpegtran в Windows

Через контекстное меню сжимать не получится из-за особенности работы утилиты, однако, настроить сжатие множества JPEG разом на автомате можно.
Для этого нам нужно создать файл с расширением.bat ( в помощь) и записать туда

Cd /d . for %%j in (*.jpg) do call:sheensay "%%~nxj" "%%~nj.jpg" goto:eof:sheensay jpegtran -copy none -optimize -progressive "%~1" "%~2"

Как установить, настроить и использовать jpegoptim

Как сжать JPG, JPEG с помощью jpegoptim

Заливаем jpegoptim.exe в C:\Windows. Потом открываем папку с JPG изображениями с помощью Far Manager и вводим в консоль

Jpegoptim *.jpg --strip-all --all-progressive

Как оптимизировать несколько JPG, JPEG разом с помощью jpegoptim

В отличие от jpegtran, утилита jpegoptim вполне замечательно позволяет работать с ней и из контекстного меню.
Создадим файл jpegoptim.reg, например, с помощью Far Manager, и запишем туда

Windows Registry Editor Version 5.00 @="Run jpegoptim on Folder" @="cmd.exe /c \"TITLE Running jpegoptim on %1 && FOR /r \"%1\" %%f IN (*.jpg) DO jpegoptim *.jpg --strip-all --all-progressive \"%%f\" \""

Запустили, внесли данные в реестр. Теперь можно сжимать множество JPEG файлов с помощью контекстного меню, просто складываете нужные изображения в одну папку, ПКМ и «Run jpegoptim on Folder».

Если хотите удалить jpegoptim из реестра и контекстного меню, записываете jpegoptim.reg

Windows Registry Editor Version 5.00 [-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\jpegoptim] [-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\jpegoptim\command]

Сохраняете, запускаете, вносите изменения в реестр.

Насколько качественно jpegtran и jpegoptim сжимают jpg, jpeg

Перейдём к испытаниям. Возьмём, к примеру, файл caching.jpg. В оригинале он весит 29,5 Кб

Испытания jpegtran на качество сжатия JPG, JPEG

jpegtran -copy none -optimize -progressive caching.jpg caching.jpg

На выходе получилось 29,1 Кб, сжатие сэкономило 1,36%

Испытания jpegoptim на качество сжатия JPG, JPEG

jpegoptim caching.jpg --strip-all

В проводнике Windows этого не видно, сжатие составило несколько сотен байтов.

Что ж, исходный файл был неплохо подготовлен, поэтому сжатие не дало видимого эффекта, но когда вы будете обрабатывать свои неоптимизированные изображения, порой будете удивляться, как хорошо можно сэкономить в размере.

Как настроить сжатие png и jpg, jpeg на автомате

Если вы дочитали до этого раздела, но всё ещё недовольны предложенными вариантами, предлагаю вам самим собрать портативный комбайн — сервис по сжатию картинок, фото, изображений, который будет работать как надо вам прямо на вашем рабочем столе.

Необходимо предварительно установить jpegtran , jpegoptim , optipng , pngout ю
Инструкция по установке есть выше.

Итак, для этого нам потребуется правильно собрать архитектуру папок. Допустим, у вас есть папка images со своей иерархией вложенных в неё папок с PNG и JPG, которые вам нужно обработать.
Создаём папку optimus , в неё закинем папку images со всеми вложенными папками и файлами.
Открываем , в нём открываем optimus, создаём там файл go.bat и записываем туда

@ECHO OFF CLS SetLocal EnableExtensions EnableDelayedExpansion set home_path=%~dp0:: Название папки, в которой лежат необработанные изображения set folder=images echo Обработка *.JPG файлов через jpegtran:: Создаём папку, в которой будут храниться сжатые jpg. В нашем случае, это jpeg_images xcopy /y /t /c /i "%folder%" "jpg_%folder%" :: Для каждого.jpg проводим оптимизацию с помощью jpegtran. Выходной.jpg будет записан в jpeg_images for /r %folder% %%a in (*.jpg) do (set fn=%%a& jpegtran -copy none -optimize -progressive -outfile %home_path%jpg_!fn:%~dp0=! %home_path%!fn:%~dp0=!) echo Обработка *.JPG файлов через jpegtran завершена:: Указываем, что теперь прогон нужно осуществлять в новой папке jpeg_images set folder = jpg_%folder% echo Обработка *.JPG файлов через jpegoptim for /r %folder% %%a in (*.jpg) do (set fn=%%a& jpegoptim %%~a --strip-all) echo Обработка *.JPG файлов через jpegoptim завершена echo Обработка *.PNG файлов через optipng xcopy /y /t /c /i "%folder%" "png_%folder%" for /r %folder% %%a in (*.png) do (set fn=%%a& optipng -o7 %%~a -out %home_path%png_!fn:%~dp0=!) echo Обработка *.PNG файлов через optipng завершена set folder=png_%folder% echo Обработка *.PNG файлов через pngout for /r %folder% %%a in (*.png) do (set fn=%%a& pngout %%~a) echo Обработка *.PNG файлов через pngout завершена pause

Код закомментирован в важных частях. По сути, ничего сложного, разберётесь, если вам это нужно.

Теперь сохраняем go.bat и запускаем его.

Если файлов много, сжатие изображений займёт какое-то время. Дождитесь, пока консоль не уведомит об окончании процесса.

Сжатие проходит с разделением файлов отдельно JPG, которые теперь располагаются в jpg_images , и PNG отдельно, которые располагаются в png_images .

Если нужно изменять качество или другие параметры, смотрите описание утилит выше и изменяйте код под свои нужды.

Как оптимизировать и сжать GIF

В заключение

В этой статье я постарался максимально развёрнуто охватить способы оптимизации PNG и JPG. Если есть какие-то вопросы, дополнения, пишите в комментариях, обсудим


Работа ресурса зависит от количества и объёма загружаемых файлов, поэтому сжатие фото является одним из способов сократить время загрузки сайта. Медиа-контент занимает большую часть времени, необходимого для формирования веб-страницы, за исключением сбоев с соединением базы данных или получения информации с других доменов.

Для ускорения работы рекомендуется проанализировать HTTP-запросы, редиректы, максимально сжать скрипты, стили, снизить количество циклов и т.д. Работа в этом направлении даст результаты, но самый простой и эффективный метод – это сжатие картинок и фотографий, поэтому рассмотрим лучшие программы, способные снизить вес изображений без значительной потери качества.

Программа для сжатия фото Caesium

Caesium – это отличный инструмент для снижения размера картинки, который достаточно прост в использовании (не требуется наличие специфических навыков). При этом в программе открытый исходный код, поэтому любой с достаточными знаниями сможет внести собственные коррективы. Если человек создаст хороший алгоритм обработки, в релизе программы функция уже будет встроена. Учитывая доступность кода, программа развивается очень быстро.

Приложение позволяет работать с 3-я форматами – PNG, JPG, BMP. Несмотря на ограниченный выбор, 95% всех картинок относятся к этим форматам. Если изображения в другом формате, их всегда можно конвертировать в стандартный JPG или PNG.

Существенным ограничением в работе выступает то, что с PNG утилита работает исключительно в 24-битном формате.

Чтобы использовать программу, достаточно следовать инструкции:

  1. Загрузить приложение;
  2. Перетащить картинки, что планируете сжать, в самое большое поле;

  1. В разделе «Compression Options» необходимо сместить ползунок в позицию «Quality», если приоритет делается на качество исходной картинки;
  2. Поле «Output Folder» нужно заполнить путём для выгрузки изображений после обработки;
  3. Запустить процедуру можно, нажав «Compress!»;

  1. Свидетельствует о прогрессе действия шкала снизу;
  2. По окончанию можно открыть обработанную фотографию.

Программа для сжатия фотографий FILEminimizer Pictures 3.0

Приложение отличается радикальным видением проблемы. В процессе сжатия большинство программ стараются сохранить качество, размер, формат и т.д. FILEminimizer Pictures при настройках по умолчанию способен менять формат, размер, кодировку и устранять метаданные. Установить более щадящий режим можно в настройках, хотя поведение программы можно изменить не во всех отношениях.

Принцип работы достаточно стандартный и требует минимальное количество действий. Необходимо выполнить следующие действия:

  1. Указать исходное изображение или несколько;

  1. Выбрать папку, куда будут помещаться обработанные копии;
  2. Снизу настроить «Compression Setting», где присутствует 3 положения: Low/Print – самое низкое качество, Standard – среднее сочетание качества и размера, Web/E-mail – сжатие с минимальной потерей качества;

  1. Настроить поведение программы, если есть необходимость;
  2. Запустить алгоритм, нажав на «Optimize Files».

Что же касается результатов сжатия, выполнялся тест, в ходе которого было установлено уменьшение размера в зависимости от качества картинок и формата: PNG – 26,8% (обычный результат), GIF – 16,5% (хороший показатель), JPG для web-ресурсов – 39,3% (лучший результат среди всех исследуемых программ). В каждом случае потеря качества визуально заметна.

FastStone Image Viewer

Многообразные способы, как сжать фото для отправки по почте вряд ли смогут сравниться с FastStone Image Viewer. Программа обладает закрытым кодом, но разрабатывается профессионально. Приложение достаточно функционально и может обрабатывать изображения различными методами, а сжатие является лишь частью всех функций. Приложение в большей мере используется в качестве альтернативы стандартной утилите просмотра картинок.

Важное преимущество приложения – оно позволяет изменять ширину и высоту фотографии. Для интернета и почты функция очень важна, так как не все сервисы работают с множеством форматов. Также программа позволяет архивировать изображения, чтобы не засорять место на почте.

Рассмотрим, как использовать программу:

  1. Скачать приложение с сайта https://www.faststone.org/ ;
  2. После установки нужно указать путь к картинкам при помощи навигации слева. При работе с большим их количеством рекомендуется создать отдельную папку для изображений, чтобы было проще выполнять импорт;

  1. Клик на кнопку «Файл»;
  2. Выбрать пункт «Email»;
  3. В открывшемся меню нужно настроить «Выбор размера» - среди выпадающего списка выбрать подходящий размер. Среди вспомогательных функций можно выбрать «Добавить рамку», «Переименовать» - указывается формат имени. При необходимости экономить место или трафик нужно нажать «Упаковать в архив»;
  4. Нажать кнопку «Отправить по E-mail», если эти картинки нужны и на компьютере, клик на «Скопировать в».

ImageCompressor

Теперь рассмотрим способ, как сжать фото без потери качества, точнее, с минимальной и незаметной глазу потерей. Программа ImageCompressor достаточно мощная, но не функциональная. Учитывая, что нам и нужна только одна функция, утилита вполне подходит. Человеческий глаз не ощущает снижение качества.

Для применения программы нужно:

  1. Загрузить и инсталлировать утилиту;
  2. Выполнить импорт изображений, для открытия Проводника нужно кликнуть на клавишу с троеточием;

  1. Возле «Quality» установлен ползунок, который регулирует отношение снижения качества и уменьшения веса;
  2. Чтобы получить картинку с исходным размером или наоборот сделать его меньше, нужно выделить пункт «Size in %», для полноразмерного режима нужно задать 100;
  3. Для выбора формата нужно отметить пункт «Save as» выделив радио-точку возле нужного формата JPEG или PNG;

  1. Возле строки, что чуть ниже выбора формата, нужно указать путь к папке для записи картинок;
  2. После того, как настройки будут установлены, нужно кликнуть на «Compress All».

FileOptimizer

Оптимальная программа для ускорения загрузки web-страниц. Здесь всё выполнено максимально интуитивно понятно. От пользователя требуется лишь немного действий, остальное FileOptimizer сделает сам.

  1. Скачать и запустить программу;

  1. Произвести клик на «Add files…» и в окне Проводника выбрать необходимые файлы для компрессии;
  2. Нажать на «Optimize all files» и ожидать окончания процедуры, следить за процессом можно в столбце «Status».

Программа содержит и некоторые настройки, если в них углубляться желания нет, можно использовать описанную выше инструкцию. Посмотреть опции можно в пункте «Options…».

Сжатие выполняется максимально быстро при обработке JPEG формата, а с PNG утилита справляется дольше. Программа не портит качество изображения, но сжатие происходит с небольшим отличием размера.

Компрессия картинок позволяет значительно ускорить процесс загрузки страниц сайтов, снизить количество занимаемого места на хостинге и в целом оптимизировать ресурс.

Если у Вас остались вопросы по теме «Обзор лучших программ для сжатия фотографий», то можете задать их в комментария


if(function_exists("the_ratings")) { the_ratings(); } ?>