ОПТИМИЗАЦИЯ ИЗОБРАЖЕНИЙ LINUX

Если у вас есть очень много изображений на домашнем компьютере или сервере, и они занимают слишком много места, то их размер однозначно можно уменьшить даже без потери качества. Также это может быть очень полезным при загрузке изображений в облачное хранилище. В этой статье мы рассмотрим как выполняется оптимизация изображений Linux. Существует очень много графических инструментов для решения этой задачи, но на самом деле все намного проще. Мы рассмотрим как сжать изображения с помощью двух простых, но очень эффективных консольных утилит командной строки. Вот они: jpegoptim — утилита для оптимизации и сжатия изображений без потери качества в формате JPEG; pptipng — это небольшая программа, которая позволяет уменьшить размер PNG изображений без потери качества. JPEG и PNG — это наиболее распространенные форматы изображений в сети интернет, поэтому вы сможете оптимизировать почти все изображения.

ОПТИМИЗАЦИЯ JPEG ИЗОБРАЖЕНИЙ

Утилита jpegoptim — это инструмент командной строки, который может использоваться для сжатия изображений в формате JPEG, JPG и JFIF без потери качества. Утилита оптимизирует изображения на основе таблиц Хаффмана. Как вы знаете, в алгоритме JPEG и так используется сжатие, но это сжатие достигается с помощью потери качества, а здесь мы можем оптимизировать размер не меняя картинку.

УСТАНОВКА JPEGOPTIM

Для установки утилиты в Ubuntu, Debian и основанных на нем дистрибутивах выполните:  sudo apt install jpegoptim В Fedora, Red Hat, CentOS и других, основанных на них дистрибутивах дела обстоят немного сложнее, вам придется сначала добавить репозиторий epel-release. Вы можете сделать это с помощью такой команды:  sudo yum install epel-release Или:  sudo dnf install epel-release Затем вы можете установить jpegoptim из только что подключенного репозитория:  sudo yum install jpegoptim Или:  sudo dnf install jpegoptim

КАК ИСПОЛЬЗОВАТЬ JPEGOPTIM

Давайте рассмотрим как пользоваться jpegoptim. Использовать утилиту для сжатия изображений linux очень просто. Для этого достаточно выполнить программу и передать ей имя файла. Вот такой синтаксис: $ jpegoptim опции имя_файла.jpeg Рассмотрим опции утилиты:
  • -d — указать папку, в которую нужно сохранять готовые изображения;
  • -f — принудительная оптимизация;
  • -m — показатель качества, отменяет сжатие без потерь и устанавливает уровень качества от 0 до 100, чем больше, тем лучше;
  • -n — не выполнять реальную оптимизацию, а только показать результат;
  • -S — задать размер готового изображения, можно указать в процентах или килобайтах;
  • -o — заменить исходный файл;
  • -p — сохранить временные метки;
  • -P — сохранить права файла.
А теперь, давайте рассмотрим как оптимизировать изображения в linux с помощью jpegoptim. Сначала посмотрим исходный размер:  du image.jpg Как видите, сжатие jpg сработало, и открыв изображение в любой графической программе вы не обнаружите никаких отличий или ухудшения качества, исходник и готовое изображение будут идентичны. Слева оптимизированное, справа — оригинал: Если хотите, вы можете сжать изображение до определенного размера, но тогда без потерь не получится: jpegoptim —size=250k image.jpeg Изображение будет сжато, но качество заметно ухудшится. Если изображений много, то вы можете очень просто использовать пакетное сжатие, для этого просто перейдите в папку с изображениями, а потом выполните команду сжатия указав вместо файла маску, например: cd images/ jpegoptim *.jpg

ОПТИМИЗАЦИЯ ИЗОБРАЖЕНИЙ LINUX

Если у вас есть очень много изображений на домашнем компьютере или сервере, и они занимают слишком много места, то их размер однозначно можно уменьшить даже без потери качества. Также это может быть очень полезным при загрузке изображений в облачное хранилище.
В этой статье мы рассмотрим как выполняется оптимизация изображений Linux.  Существует очень много графических инструментов для решения этой задачи, но на самом деле все намного проще. Мы рассмотрим как сжать изображения с помощью двух простых, но очень эффективных консольных утилит командной строки. Вот они:
  • jpegoptim — утилита для оптимизации и сжатия изображений без потери качества в формате JPEG;
  • pptipng — это небольшая программа, которая позволяет уменьшить размер PNG изображений без потери качества.
JPEG и PNG — это наиболее распространенные форматы изображений в сети интернет, поэтому вы сможете оптимизировать почти все изображения.

Содержание статьи:

  • Оптимизация JPEG изображений
    • Установка Jpegoptim
    • Как использовать jpegoptim
  • Оптимизация изображений PNG в Linux
    • Установка optipng
    • Сжатие изображений с помощью optipng
  • Выводы

ОПТИМИЗАЦИЯ JPEG ИЗОБРАЖЕНИЙ

Утилита jpegoptim — это инструмент командной строки, который может использоваться для сжатия изображений в формате JPEG, JPG и JFIF без потери качества. Утилита оптимизирует изображения на основе таблиц Хаффмана. Как вы знаете, в алгоритме JPEG и так используется сжатие, но это сжатие достигается с помощью потери качества, а здесь мы можем оптимизировать размер не меняя картинку.

УСТАНОВКА JPEGOPTIM

Для установки утилиты в Ubuntu, Debian и основанных на нем дистрибутивах выполните:  sudo apt install jpegoptim В Fedora, Red Hat, CentOS и других, основанных на них дистрибутивах дела обстоят немного сложнее, вам придется сначала добавить репозиторий epel-release. Вы можете сделать это с помощью такой команды:  sudo yum install epel-release Или:  sudo dnf install epel-release Затем вы можете установить jpegoptim из только что подключенного репозитория:  sudo yum install jpegoptim Или:  sudo dnf install jpegoptim

КАК ИСПОЛЬЗОВАТЬ JPEGOPTIM

Давайте рассмотрим как пользоваться jpegoptim. Использовать утилиту для сжатия изображений linux очень просто. Для этого достаточно выполнить программу и передать ей имя файла. Вот такой синтаксис: $ jpegoptim опции имя_файла.jpeg Рассмотрим опции утилиты:
  • -d — указать папку, в которую нужно сохранять готовые изображения;
  • -f — принудительная оптимизация;
  • -m — показатель качества, отменяет сжатие без потерь и устанавливает уровень качества от 0 до 100, чем больше, тем лучше;
  • -n — не выполнять реальную оптимизацию, а только показать результат;
  • -S — задать размер готового изображения, можно указать в процентах или килобайтах;
  • -o — заменить исходный файл;
  • -p — сохранить временные метки;
  • -P — сохранить права файла.
А теперь, давайте рассмотрим как оптимизировать изображения в linux с помощью jpegoptim. Сначала посмотрим исходный размер:  du image.jpg jpgoptim1 Дальше выполняем самую простую оптимизацию:  jpegoptim image.jpg jpgoptim2 Затем опять смотрим размер:  du image.jpg jpgoptim3 Как видите, сжатие jpg сработало, и открыв изображение в любой графической программе вы не обнаружите никаких отличий или ухудшения качества, исходник и готовое изображение будут идентичны. Слева оптимизированное, справа — оригинал: jpgoptim Если хотите, вы можете сжать изображение до определенного размера, но тогда без потерь не получится:  jpegoptim --size=250k image.jpeg Изображение будет сжато, но качество заметно ухудшится. Если изображений много, то вы можете очень просто использовать пакетное сжатие, для этого просто перейдите в папку с изображениями, а потом выполните команду сжатия указав вместо файла маску, например:  cd images/  jpegoptim *.jpg jpgoptim4 Также вы можете перечислить несколько изображений за раз:  jpegoptim image1.jpg image2.jpg Вот и все, теперь вы знаете как сжать jpg изображения в Linux. Дальше мы поговорим о том, как сжать png. Это тоже очень просто.

ОПТИМИЗАЦИЯ ИЗОБРАЖЕНИЙ PNG В LINUX

PNG или Portable Network Graphics это растровый формат изображений, разработанный для замены несовершенного в плане сжатия и цветопередачи формата GIF. Размер PNG изображений может сильно отличаться в зависимости от нескольких факторов, таких как глубина цвета, переплетение, перед компрессионный фильтр, используемый алгоритм сжатия и т д. OptiPNG — это консольная утилита, позволяющая оптимизировать PNG изображения. А именно сжимать размер, восстанавливать метаданные, проверять целостность и т д. С помощью OptiPNG вы можете сжимать файлы без потерь качества, точно также как мы это делали с форматом Jpeg.

УСТАНОВКА OPTIPNG

Если вы используете Ubuntu, то программа есть в официальных репозиториях и вы можете ее очень просто установить. Для установки optipng в Debian, Ubuntu и производных наберите:  sudo apt install optipng В Red Hat, CentOS или Fedora все выполняется точно так же, только другой менеджер пакетов:  sudo yum install optipng Или:  sudo dnf install optipng

СЖАТИЕ ИЗОБРАЖЕНИЙ С ПОМОЩЬЮ OPTIPNG

Синтаксис утилиты очень прост. Вы можете использовать ее точно так же как и jpegoptim: $ optipng опции имя_файла.png Давайте рассмотрим опции утилиты:
  • -backup — сохранять копии измененных файлов;
  • -dir — папка для записи файлов;
  • -force — принудительная запись исходящего файла;
  • -out — записать исходящий файл в указанный;
  • -simulate — не выполнять никаких действий, а только показать результат;
  • -o — установить уровень сжатия от 0 до 7.
Теперь попробуем оптимизировать png в linux. Сначала посмотрим размер файла:  df -h image.png