Search
Write a publication
Pull to refresh

Настройка меню пользователя в 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, использует альтернативное решение, а я остановился на более близком для себя и реализовал его в удобной мне среде работы.

Надеюсь эту решение будет кому-то полезным.
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.