Как стать автором
Обновить

Пакетная обработка изображений в XnView MP под Linux

Не секрет, что недавно перешедшие на Linux пользователи часто разочаровываются в системе только из-за того, что не нашли в ней привычного для себя функционала. Есть устоявшееся мнение (чтобы убедиться в этом — достаточно погуглить яндекс), что для пакетной обработки фотографий в мире freeware и open source есть только две удобоваримые вещи — Phatch и ImageMagick. Первая на меня произвела исключительно унылое впечатление руганью на свои же шаблоны имен выходных файлов, вторая — недружелюбностью в общении и необходимостью написания скриптов. Упоминается и GIMP, но использовать этого монстра только для пакетной обработки, мне кажется, моветон. Я давно обратил внимание на бета-версии мультиплатформенного варианта известной программы XnView, но не мог решить некоторые неочевидные трудности. Наконец, сегодня я снял для себя все вопросы, какой софт использовать для пакетной обработки фотографий.



Что такое XnView MP и как его устанавливать, уже давно описано другими людьми, поэтому я не буду заострять на этом внимание. Просто напомню, что в данный момент программа распространяется в обычном архиве и запускается sh-скриптом.

image

Под Windows я использовал XnView и как конвертер, и как просмотрщик. Под Linux в мультиплатформенном варианте программа в текущей версии 0.26 ничего из себя не представляет — можно открыть и поглядеть картинку, но сделать с ней ничего нельзя — контекстное меню отсутствует, меню и кнопки управления тоже не блещут. То есть полное разочарование. Однако! Пакетная работа организована на уровне «не хуже, чем в Windows». Почему не использовать просто версию для Windows под Wine? Это не спортивно, да и после запуска XnView зачем-то сразу вешается. Работает версия под Windows 3.11, но мне она не интересна.

Вернемся к XnView MP. Итак, пакетная работа с файлами представлена хорошо знакомой пользователям Windows опцией.

Пакетная обработка


image

Не изменилась она ни снаружи, ни внутри — возможностей достаточно даже для взыскательного пользователя.

image

Выбрав для обработки нужные нам файлы или целые директории, мы задаем последовательность нужных преобразований, настраиваем их параметры и попадаем на закладку «выходные данные». И тут нас поджидает самая главная засада программы — поле «регистр», в котором обязательно должно быть какое-то значение.

image

Казалось бы, чего тут страшного? Ну будут все изображения сохранены, например, с расширением в нижнем регистре — да кого это волнует? А вот и нет. Мы имеем дело с Linux. В нем 1.jpg и 1.JPG — это два совершенно разных файла. Поэтому, если перед нами стоит задача — прошерстить ряд каталогов и уменьшить размер находящихся в них картинок, перезаписав их — после работы XnView MP мы обнаружим, что вместо уменьшенного файла 1.JPG в одной из директорий лежат орининальный 1.JPG и его уменьшенная копия 1.jpg, которая должна была перезаписать первый. Кажется, разработчики забыли про это…

Пакетное переименование


Недостаток программы с успехом исправляется ее же средствами. В проводнике XnView MP открываем нужную директорию, щелкаем по ней правой кнопкой мыши, вызывая контекстное меню, и в нем выбираем — «показать все файлы, включая вложенные».

image

Затем фильтруем выведенные файлы.

image

Выделяем все и идем переименовывать.

image

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

image

Сказано — сделано, на выходе получаем структуру папок и файлов, где все картинки имеют расширение в нижнем регистре. Теперь можно к этим же картинкам применить инструмент «пакетная обработка» с опцией «расширение: нижний регистр» в выходных данных, и при перезаписи оригинальных изображений у нас не появится никаких дублей. Таким образом, мы убрали из колеса ту палку, что нам попыталась поставить Linux-версия замечательной программы.

image
Теги:
Хабы:
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.