Pull to refresh

Пакетная обработка изображений в 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
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.