Оптимизация изображений в Mac OS X

Добрый день!

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

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

Сегодня я расскажу вам как уменьшить размер картинки с помощью Image Magic. По ссылке вы найдете дистрибутивы практически для всех систем. Под Mac OS X предлагается несколько вариантов - установка через macPorts или из исходников. Если возникли проблемы с установкой, пишите, вместе разберемся.

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

После установки, в Terminal у вас будут доступны утилиты imagemagic командной строки. Самая фукнциональная из них - convert. Ею мы и воспользуемся.

Я подготовил для вас скрипт, который оптимизирует картинки, но не меняет размер:

convert -strip -interlace Plane -sampling-factor 4:2:0 -quality 85% *.jpg %d-optimized.jpg

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

Знакомьтесь - Automator.

Вы без труда найдете у себя эту иконку в приложениях. Нажимаем эту иконку, создаем Службу.

Служба получает выбранное: файлы изображений в Finder.

В Автоматоре выбираем Фото->Change Type of Images и переносим в поле. Вам будет предложено создать временное хранилище файла чтобы не перетереть существующий. Здесь решение за вами, я перезаписываю то что есть. В настройках выбираем JPEG. Затем выбираем Утилиты->Run Shell Script, переносим туда же. Выбираем Передать ввод "как аргумент".

Вставляем такой скрипт:

for img in "$@"
  do
        filename=${img%.*}
        /usr/local/bin/convert -strip -interlace Plane -sampling-factor 4:2:0 -quality 85% "$img" "$filename-optimized.jpg"
  done 

Должно получиться примерно вот так:

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

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

Системные настройки -> Клавиатура -> Сочетания клавиш -> Службы

Спасибо за внимание, буду рад любым комментариям.

Яндекс.Метрика