Поиск по сайту:

Уменьшение размера файла изображений в Linux — методы CLI и GUI


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

Давайте быстро углубимся в процессы уменьшения размера файла изображения.

1. Использование команды convert для уменьшения размера файла изображений в Linux

Прежде чем мы перейдем к применению этой команды, давайте удостоверимся, что она присутствует в системе.

Команда convert входит в состав пакета ImageMagick. Пользователи Debian/Ubuntu могут установить ImageMagick, запустив:

sudo apt install imagemagick

После установки пакета мы можем запустить man convert, чтобы посмотреть на разнообразие операций, поддерживаемых этой командой.

Уменьшение по качеству изображения

Самый простой способ уменьшить размер изображения — ухудшить качество изображения.

convert <INPUT_FILE> -quality 10% <OUTPUT_FILE>

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

du -h jd_logo*

Команда du показывает объем диска, используемый файлами в Linux. В приведенной выше команде мы отображаем объем места, занимаемый всеми версиями \jd_logo”.

Уменьшить размер файла изображений в Linux на пиксели

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

convert <INPUT_FILE> -resize 200x200 <OUTPUT_FILE>

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

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

Чтобы уменьшить изображение до точных размеров и пренебречь соотношением сторон, ! необходимо использовать после параметра resize.

convert <INPUT_FILE> -resize 200x200! <OUTPUT_FILE>

Преобразование формата изображения

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

convert <INPUT_FILE> <OUTPUT_FILE>

Снижение качества составляет 92%, если параметр не указан. В приведенном выше фрагменте мы преобразовали файл изображения «.png» в файл «.jpg».

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

Чтобы преобразовать несколько файлов, нам нужен сценарий bash, который запускает цикл для всех изображений. Существует альтернатива обработке нескольких файлов изображений — mogrify, входящая в состав пакета ImageMagick.

2. Использование команды mogrify

mogrify [OPTIONS] [FILE_LIST]

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

Кроме того, команда mogrify поддерживает выражения для очереди в нескольких файлах. Например:

mogrify -quality 10 *.jpg

Приложения для convert и mogrify идентичны, поскольку они получены из одного и того же пакета.

3. Использование Pngcrush для файлов PNG

pngcrush — оптимизатор файлов PNG (Portable Network Graphics). Он уменьшает размер файла изображения, пропуская его через различные методы сжатия и фильтры.

Пользователи Debian/Ubuntu могут выполнить следующую команду для установки.

sudo apt get install pngcrush

Пользователи других дистрибутивов Linux могут установить его, используя свои стандартные команды установки, за которыми следует pngcrush.

После завершения установки мы можем уменьшить размер файла PNG, запустив:

pngcrush -brute <INPUT_FILE> <OUTPUT_FILE>

Опция -brute пропускает файл через 114 методов фильтрации/сжатия. Расширенный процесс занимает несколько секунд. Вместо того, чтобы применять подход грубой силы, пользователи могут выбирать фильтры, уровни и стратегии для оптимизации.

Типы фильтров и другие свойства можно узнать из справочных страниц - man pngcrush.

4. Использование Jpegoptim для файлов JPG

jpegoptim — это компрессор файлов JPG (Joint Photographic Group). Эта команда поддерживает процент и целевой размер файла в качестве параметра для уменьшения размера изображения.

Установка довольно проста.

sudo apt install jpegoptim

После завершения установки мы можем запустить:

jpegoptim --size=<TARGET_SIZE> <INPUT_FILE>

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

На приведенном выше рисунке мы сжали файл размером 260 КБ в изображение размером 20 КБ.

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

Мы можем узнать больше о команде из справочных страниц через - man jpegoptim.

5. Использование инструмента с графическим интерфейсом Trimage

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

Установка аналогична предыдущим способам.

sudo apt install trimage

После завершения установки мы можем получить к нему доступ, выполнив поиск \trimage в системе. Окно Trimage выглядит следующим образом:

Поддерживаемые столбцы:

  • Имя файла
  • Размер исходного изображения
  • Размер преобразованного изображения.
  • Процент сжатия

Инструмент перезаписывает исходное изображение. Сжатие минимально из-за того, что сжатие без потерь.

GIMP (программа манипулирования изображениями GNU) — хорошая альтернатива для уменьшения размера изображения на основе графического интерфейса, но это определенно перебор.

Заключение

Самый простой и эффективный способ уменьшить размер файлов изображений в Linux — использовать команды, предоставляемые пакетом ImageMagick.

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

Рекомендации

Официальный сайт Pngcrush

Официальный сайт Trimage