К основному контенту

Оптимизация изображений 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



Дальше выполняем самую простую оптимизацию:

jpegoptim image.jpg



Затем опять смотрим размер:

du image.jpg



Как видите, сжатие jpg сработало, и открыв изображение в любой графической программе вы не обнаружите никаких отличий или ухудшения качества, исходник и готовое изображение будут идентичны. Слева оптимизированное, справа - оригинал:



Если хотите, вы можете сжать изображение до определенного размера, но тогда без потерь не получится:

jpegoptim --size=250k image.jpeg

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

cd images/

jpegoptim *.jpg



Также вы можете перечислить несколько изображений за раз:

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



Чтобы выполнить сжатие изображений используйте следующую команду:

optipng image.png



Затем опять смотрим размер, в этом примере различий не видно, потому что изображение очень маленькое, но при большем размере они будут значительны:



Напоминаю, что тут тоже сжатие png linux изображений без потерь, а это значит, что вы получите точно такое же изображение только меньшего размера. Также можно указать уровень сжатия, он не влияет на качество картинки, но от него напрямую зависит время работы программы. Значение может быть от 0 до 7 и чем больше, тем сильнее сжатие и тем дольше будет идти обработка:

optipng -o 7 impge.png



Для пакетной обработки изображений можно использовать тот же принцип, что и в работе с jpeg:

cd images/

optipng *.png



Выводы

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

Комментарии


Дистанционная компьтерная помощь, удаленная компьютерная помощь онлайн.

Популярные сообщения из этого блога

Лучшие плагины для OBS Studio

Open Broadcast Software или OBS - это свободное программное обеспечение с открытым исходным кодом для стриминга аудио и видео данных в сеть интернет. Программа полностью кроссплатформенная и может работать в Windows, Linux или MacOS. Это отличная альтернатива для таких программ, как Wirecast и XSplit. OBS использует для вещания стандартный протокол обмена сообщениями в реальном времени, а поэтому может транслировать данные в любой сервис, поддерживающий это, например, Yotube. Несмотря на широкие возможности OBS, программа поддерживает еще и множество плагинов. В этой статье мы рассмотрим лучшие плагины для OBS Studio, которые вы можете использовать. Содержание статьи: Лучшие плагины OBS Studio 1. Browser Source Plugin 2. Video Source Plugin 3. Simple Scene Switcher 4. DirectShow Audio Source 5. CLR Browser Source 6. OBS Remote 7. AMD Advanced Media Framework Encoder 8. Text Source Plugin Выводы Лучшие плагины OBS Studio Чтобы найти плагины OBS Studio для Video пользователям пр…

Лучшие аналоги Paint для Linux

Когда я работал в Windows, я часто использовал стандартную программу редактора изображений Windows - Paint. Не всегда нужен очень и многофункциональный инструмент вроде Photoshop или Gimp. Иногда, чтобы подправить ту или иную картинку, дорисовать на ней несколько фигур или вставить текст достаточно простого, легкого в освоении графического редактора вроде Paint. В Linux таких программ довольно много. В этой инструкции мы рассмотрим лучшие аналоги Paint для Linux. В этот список не будут включены такие программы, как Gimp и Krita, ведь это полнофункциональные графические редакторы, векторные редакторы, такие как Inkscape мы тоже рассматривать не будем. А теперь перейдем к списку. Содержание статьи: KolourPaint MyPaint Gnome Paint XPaint Pinta mtPaint GPaint Rassam-paint Выводы KolourPaint На первом месте в списке аналогов Piant для Linux будет KoloutPaint. Это стандартный графический редактор для окружения рабочего стола KDE. Он поддерживает множество форматов изображений PNG, J…