4 способа конвертировать PNG в JPG в Linux

4 способа конвертировать PNG в JPG в Linux

Рубрики:

Linux, Утилиты Linux

Метки:

, , , ,

Преобразование форматов изображений — распространенная задача при работе с графикой или фотографиями. Если Вам нужно конвертировать PNG-изображение в JPG или наоборот, в Linux существует утилита командной строки convert, позволяющая это сделать.

В этой статье мы рассмотрим четыре различных способа использования convert для преобразования фото PNG в JPG и наоборот.

Содержание:

  1. Что такое convert
  2. Изменение формата изображения с помощью ls и xargs
  3. Преобразование формата с помощью команды parallel
  4. Изменение формата изображения с помощью цикла for
  5. Преобразование формата картинки с использованием скрипта
  6. Выводы

Что такое convert

Утилита convert — универсальный инструмент для работы с картинками и их преобразования в Linux. Она входит в состав пакета ImageMagick и позволяет выполнять широкий спектр операций с фотографиями, включая:

  • преобразование формата;
  • изменение размера;
  • обрезку;
  • поворот.

Синтаксис команды convert выглядит следующим образом:

 

Где:

  • [input-options], [output-options] — необязательные параметры, которые изменяют поведение команды;
  • [input-file] — путь или название исходной картинки;
  • [output-file] — путь или название выходного изображения.

Эта утилита изначально не предустановлена в большинстве дистрибутивов Linux. Чтобы ее установить, введите следующую команду.

 

Для Debian / Ubuntu:

 

Для CentOS / RHEL:

 

Для Fedora 22+:

Изменение формата изображения с помощью ls и xargs

Во всех последующих примерах мы будем конвертировать фото cat.jpg c расширения JPG на PNG и наоборот. Эта картинка выглядит следующим образом.

cat

В первом способе мы рассмотрим использование утилит командной строки ls и xargs. Команда ls выводит список файлов и подкаталогов в заданной директории. Утилита xargs принимает входные данные из стандартного ввода (stdin) и преобразует их в аргументы для другой команды.

 

Чтобы изменить формат фото с JPG на PNG с помощью этого способа, нужно написать следующую команду с использованием перенаправления ввода / вывода:

 

xargs convert

Читайте также: 12 практических примеров команды xargs для начинающих в Linux, xargs примеры.

Разберем подробнее каждую команду из введенной конструкции:

  1. ls -1 cat.jpg — выводит название файла cat.jpg на отдельную строку, используя опцию -1.
  2. | — конвейер, перенаправляющий вывод предыдущей команды в качестве входных данных для следующей.
  3. xargs -n 1 — считывает название файла cat.jpg и передает его в качестве аргумента последующей команде.
  4. bash -c — запускает новый экземпляр оболочки bash и использует опцию -c для выполнения указанной строки как одной команды.
  5. convert "$0" "${0%.jpg}.png" — преобразовывает входной файл из формата JPG в PNG:
    • $0 — аргумент, который представляет название исходной фотографии;
    • ${0%.jpg}.png — аргумент, который определяет название выходной картинки, полученнe. путем замены расширения *.jpg на *.png.

Чтобы конвертировать PNG-изображение в JPG, просто поменяйте местами форматы фото в предыдущей команде, как показано ниже:

 

Вы также можете преобразовать сразу все картинки из каталога в другой формат. Для этого вместо названия конкретного фото напишите символ * (звездочку):

Преобразование формата с помощью команды parallel

Утилита parallel — инструмент, позволяющий запускать несколько команд или процессов параллельно за счет использования преимуществ нескольких ядер процессора. Инструмент считывает переданные ему команды, а затем одновременно выполняет каждую из них за счет распределения рабочей нагрузки по доступным ядрам процессора.

Синтаксис parallel следующий:

 

Где:

  • command — команда, которую Вы хотите запустить параллельно;
  • [options] — опции, команды parallel;
  • arguments — аргументы, которые будут обработаны командой command;
  • ::: — разделитель, который используется для отделения команды от входных элементов.

Чтобы установить parallel, введите в окне терминала команды.

Для Debian / Ubuntu:

 

Для RHEL / CentOS / Fedora:

 

Итак, преобразуем картинку cat.jpg в фото с расширением *.png:

 

parallel

Здесь:

  1. Символы {} — представляют каждый входной элемент.
  2. Символы {.} — удаляют расширение исходного изображения.
  3. Аргумент .png — устанавливает формат *.png для выходной фотографии.

Для конвертирования PNG-изображения в JPG, просто поменяйте местами форматы фото в предыдущей команде, как показано ниже:

 

Лучше всего утилита parallel подойдет для группового преобразования картинок из одного формата в другой. Чтобы конвертировать все фото формата JPG из директории в PNG, введите в окне терминала:

 

Вы также можете использовать parallel вместе с командой ls для конвертирования форматов картинок:

 

ls-parallel
Читайте также: 9 полезных команд для получения информации о процессоре (CPU) в Linux.

Изменение формата изображения с помощью цикла for

Еще один способ изменить формат изображения — использовать циклы. В Linux для пользователей доступен цикл for. Этот способ будет очень удобным, если Вы хотите изменить формат сразу у нескольких картинок. Чтобы преобразовать все фото формата JPG из директории на PNG или наоборот, используйте одну из следующих команд:

 

Однако, Вы можете конвертировать формат и одного фото, используя этот метод. Просто количество итераций цикла будет равняться одному. К примеру, изменение формата файла cat.jpg с JPG на PNG будет выглядеть так:

 

bash

Преобразование формата картинки с использованием скрипта

Чтобы автоматизировать процесс изменения форматов изображений, лучше всего написать сценарий оболочки. Благодаря скриптам, Вам не нужно будет писать одну и ту же большую команду каждый раз в окне терминала. Чтобы конвертировать фото cat.jpg с JPG на PNG, создадим файл с расширением *.sh и впишем в него следующий код:

 

convert-sh

Читайте также: Bash-it — управления вашими скриптами и псевдонимами.

Далее сохраним этот файл и добавим права на его исполнение. После чего запустим скрипт:

 

script

Выводы

Мы рассмотрели четыре различных метода использования команды convert для преобразования изображений форматов PNG и JPG в Linux. Каждый из представленных способов обеспечивает быстрое конвертирование картинок.

Спасибо за время, уделенное прочтению статьи!

Если возникли вопросы — задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Ciscoкурсы по кибербезопасностиполный курс по кибербезопасностикурсы DevNet / DevOps (программируемые системы) от Академии Ciscoкурсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).

Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!

Спешите подать заявку! Группы стартуют 25 января, 26 февраля, 22 марта, 26 апреля, 24 мая, 21 июня, 26 июля, 23 августа, 20 сентября, 25 октября, 22 ноября, 20 декабря.
Что Вы получите?
  • Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
  • Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проведем вечерние онлайн-лекции на нашей платформе.
  • Согласуем с вами удобное время для практик.
  • Если хотите индивидуальный график — обсудим и реализуем.
  • Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
  • Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
А еще поможем Вам:
  • отредактировать или создать с нуля резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco, Linux LPI, кибербезопасность, DevOps / DevNet, Python, подайте заявку или получите бесплатную консультацию.

Рубрики:

Linux, Утилиты Linux

Метки:

, , , ,

Больше похожих постов

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения


Поиск по сайту
Лучшее
Популярное
Рубрики

Свежие комментарии

Меню