Содержание

Оптимизация картинок в Web

Источник - http://highload.com.ua/index.php/2010/07/02/optimizaciya-kartinok/

Когда речь идет об оптимизации Web приложений, большое внимание следует уделять оптимизации клиентской части. Размер статических данных обычно в разы превосходит размер динамически генерируемых. Большинство этих данных - это медиа данные. Чаще всего это изображения (картинки для верстки и фотографии), кроме того есть flash, видео, аудио и т.п.

В этой статье рассмотрим основные инструменты оптимизации картинок для Web приложений.

Суть оптимизации картинок

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

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

Форматы

В Web можно использовать три формата изображений:

Инструменты для оптимизации

imagemagick

Если Вы используете imagemagick для генерации превью (thumbnails), то включайте опцию “-strip” для вырезания всех ненужных метаданных из изображений:

convert test.jpg -resize 100x100 -strip test_100.jpg

Особенно хороший эффект дает для фотографий (в которых размер метаданных может достигать десятков килобайтов)

Оптимизация JPEG с помощью jpegoptim

В Debian системах эта утилита доступна в пакетах:

apt-get install jpegoptim

Для оптимизации файлов нужно указать их в параметрах с опцией “–strip-all”:

jpegoptim --strip-all test.jpg

Оптимизация PNG с помощью pngnq

В Debian системах эта утилита также доступна в пакетах:

apt-get install pngnq

Работает так (в результате создает новый файл - старый не перезаписывает):

pngnq test.png

Опыт

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