Как стать автором
Поиск
Написать публикацию
Обновить

Настройка меню пользователя в Far Manager для работы с ImageMagick

Мне часто приходится конвертировать графические файлы из одного формата в другой, изменять их размер, поворачивать в разные стороны. Для этих целей использую IrfanView и в целом доволен этим программным продуктом. Но, т.к. я активно пользуюсь Far Manager, и множество рутинных операций автоматизирую для себя именно в нём, то решил настройку Far Manager произвести для себя и в этой части.
Для работы с графическими файлами выбрал ImageMagick и установил его в c:\util\im.

После краткого ознакомления с документацией на утилиту convert получил вот такой файл пользовательского меню:

<code>i:  ImageMagick
{
t:  * -> one tiff
    C:\util\im\convert.exe !& "!.tiff"
:  * -> * tiff
    mkdir tiff
    for /f "tokens=1,2 delims=." %i in (!@!) do c:\util\im\convert.exe "%i.%j" "tiff\%i.tiff"
j:  * -> jpg
    mkdir jpg
    C:\util\im\convert.exe !& "jpg\!.jpg"
p:  * -> one pdf
    C:\util\im\convert.exe !& "!.pdf"
r:  * resize...
    set percent_resize=!?размер в %?50!
    mkdir %percent_resize%%
    for /f "delims=?" %i in (!@!) do c:\util\im\convert.exe "%i" -resize %percent_resize%% "%percent_resize%%\%i"
d:  * rotate...
    set degree_rotate=!?повернуть на ... градусов?90!
    mkdir %degree_rotate%degree
    for /f "delims=?" %i in (!@!) do c:\util\im\convert.exe "%i" -rotate %degree_rotate%% "%degree_rotate%degree\%i"
g:  * Grayscale...
    mkdir grayscale
    for /f "delims=?" %i in (!@!) do c:\util\im\convert.exe "%i" -type Grayscale "grayscale\%i"
:  * -> * select format image
    set format_image=!?формат изображения?png!
    mkdir %format_image%
    for /f "tokens=1,2 delims=." %i in (!@!) do c:\util\im\convert.exe "%i.%j" "%format_image%\%i.%format_image%"
}</code>

Наглядно меню выглядит так:


В пунктах меню "* resize...", "* rotate..." и "* -> * select format image" перед конвертацией, соответственно, запрашивается размер в процентах, градус поворота и расширение файла изображения, которое нужно получить на выходе.

Если в результате конвертации есть шанс получить более чем один файл, то создается результирующий каталог, куда и производится конвертация.

Кто-то, как например shuvalov, использует альтернативное решение, а я остановился на более близком для себя и реализовал его в удобной мне среде работы.

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