CFA LogoCFA Logo Computer
Новости Статьи Магазин Драйвера Контакты
Новости
RSS канал новостей
В конце марта компания ASRock анонсировала фирменную линейку графических ускорителей Phantom Gaming. ...
Компания Huawei продолжает заниматься расширением фирменной линейки смартфонов Y Series. Очередное ...
Компания Antec в своем очередном пресс-релизе анонсировала поставки фирменной серии блоков питания ...
Компания Thermalright отчиталась о готовности нового высокопроизводительного процессорного кулера ...
Компания Biostar сообщает в официальном пресс-релизе о готовности флагманской материнской платы ...
Самое интересное
Программаторы 25 SPI FLASH Адаптеры Optibay HDD Caddy Драйвера nVidia GeForce Драйвера AMD Radeon HD Игры на DVD Сравнение видеокарт Сравнение процессоров

АРХИВ СТАТЕЙ ЖУРНАЛА «МОЙ КОМПЬЮТЕР» ЗА 2003 ГОД

ImageMagick: волшебство имиджа

(c)Петр 'Roxton' СЕМИЛЕТОВ

Кроме знаменитого Gimp'а, в боекомплект почти каждого дистрибутива Линукс входит на первый взгляд незаметный, однако мощнейший пакет утилит для обработки изображений —ImageMagic. О нем и пойдет речь в нашей статье.

Несколько вводных слов. Разумеется, ImageMagic бесплатен, как и почти все в Линуксе. Проверить, установлен ли он у вас, можно очень просто — запустите свой Midnight Commander (командой mc), установите курсор на какой-нибудь графический файл, нажмите F2, в появившемся меню выберите пункт Do something with current file, затем в строке запуска введите команду display и нажмите Enter. Если ImageMagic установлен, то появится окно входящей в его состав утилиты display вместе с выбранной картинкой. Ежели по каким-то причинам вы используете не MidnightCommander, а Konqueror, то в нем щелкните на файле правой кнопкой мыши, в контекстном меню перейдите в Открыть с помощью, затем в Другие, после чего опять-таки впишите в открывшееся поле ввода команду display.

В противном случае найдите ImageMagic у себя в дистрибутиве. Иначе придется идти на http://www.imagemagick.orgи качать оттуда продукт. К слову, там же лежат портированные версии для Mac и Windows :-). Но вернемся к display. Кроме непосредственно отображения картинки, display может дать вам исчерпывающую информацию об изображении. Правый клик в окне утилиты, выбираем пункт меню Image info. Более подробно вам никто не распишет технические характеристики изображения. Правда, большая часть этой информации для обычных пользователей практического значения не имеет, но... Всегда найдутся любители. Тот же результат можно получить, введя команду identify -verbose имя_файла. Но вернемся к теме.

Далее, display может распечатать картинку, а еще сделать скриншот. Последняя операция заслуживает более детального описания. Из контекстного меню display выбираем, как ни странно, пункт Open. Появится окошко, где нажимаем кнопку Grab. Выскакивает новое окно, в котором можно указать задержку, после которой «грабится» скриншот. По умолчанию задержка нулевая. Снова нажимаем Grab (уже в окне с запросом о задержке). Теперь курсор приобретает другую форму. Можете обвести им некую область на экране, и получите скриншот этой области. А если дважды щелкнете на некоем окне, то получите его снимок.

Сохраним картинку. Нажимаем Save, в открывшемся окне идем в Format и выбираем формат изображения — список почти из ста поддерживаемых форматов вас устроит? Отлично :-)!

Ради интереса сделаем обычный клик на окне display... Ага, оказывается, это еще и редактор изображений! Замечу, что интерактивности Gimp'а ждать не стоит — здесь, в display, эффекты и фильтры по большей части представляют собой фронтэнды к консольным утилитам из состава ImageMagic. Впрочем, иметь под рукой арсенал из нескольких десятков разных фильтров и эффектов в любом случае не помешает. Чтобы запускать dispay как обычное приложение (просто из какого-нибудь меню или кликом по ярлыку), надо прописать для элемента меню или ярлыка такую строку запуска: display logo:untitled

Но продолжим тему скриншотов. Не поверите, но многие линуксоиды считают, что кроме Ksnapshot (который идет в комплекте с KDE) с этой задачей никто не справляется. Вот и нет. В ImageMagic, помимо display, существует еще одно штатное средство. А называется оно просто —import. Догадайтесь с первого раза, какую программу невидимо вызывала display для создания скриншота :-)?

На примерах покажу, как пользоваться этой утилитой:

import myshot.bmp — сделать шот и записать его в файл myshot.bmp;

import -window myshot.bmp — сделать шот окна (по которому надо будет щелкнуть один раз) и записать снимок в файл myshot.bmp;

import -window root myshot.bmp — сделать скриншот всего root-десктопа и записать снимок в файл myshot.bmp.

Вообще говоря, у import примерно двадцать опций, но перечислять их все не буду — для этого и существует документация. Поговорим о другом.

Конвертирование и обработка изображений. Если обычные редакторы нацелены на филигранную работу с одним только текущим файлом, то призвание ImageMagic — массовая обработка картинок. Под Линуксом это тем удобнее, что можно заставить крутиться ImageMagic в скрипте, точно белке в колесе.

Простейший пример — как переконвертировать все .bmp-файлы в текущей директории в .gif'ы? Я приведу пример скрипта, просто чтобы указать вам направление, в котором следует двигаться. Назовем скрипт mybmp2gif, сохраним его где-нибудь в общедоступной директории вроде /sbin и включим для файла со скриптом атрибут исполняемого. Вот исходник скрипта:

Очень просто — в цикле мы прогоняем содержимое текущий директории, точнее, все находящиеся в ней файлы, соответствующие маске *.bmp. В каждой итерации цикла очередное имя файла представлено переменной $i. Мы указываем утилите convert (речь о которой пойдет чуть ниже), что надо взять файл $i и конвертировать его в файл $.i.gif. Как видим, я особо не заморачивался с изменением расширения файла, поэтому полученный .gif будет иметь двойное расширение —bmp.gif, что в общем-то нестрашно.

Итак, для конвертирования из одного формата в другой ImageMagic любезно предоставляет нам утилиту convert. Чтобы конвертировать изображение из одного формата в другой, достаточно дать команду:

Например:

Здесь мы конвертируем myphoto.jpg в файл формата .bmp —myphoto.bmp.

Кроме перегонки из одного формата в другой, convert может производить всевозможные манипуляции с картинками — например, изменять размер, разрешение в точках на дюйм, вращать, изменять цветовую гамму и многое другое. Вот некоторые примеры использования convert (параметры, отвечающие операциям, перечисляются после convert и отделяются от команды знаком тире):

Вертикальный переворот картинки с конвертацией результата в .jpeg:

Горизонтальный переворот картинки с конвертацией результата в .jpeg:

Перегнать все .bmp-файлы в текущей директории в .gif-анимацию animation.gif, с паузой между сменой кадров в 20 сотых секунды:

Как видим, ImageMagic — на все руки мастер. Кстати, мы коснулись темы анимации для Web. Особо интересны для тех, кто подготавливает картинки для веб-дизайна, будут такие параметры convert как:

-compress тип_компрессии — задает тип компрессии для форматов, которые поддерживают сжатие. Тип компрессии может принимать одно из следующих значений: None, BZip, Fax, Group4, JPEG, Lossless, LZW, RLE и Zip. Алгоритм сжатия LZW, который, в частности, используется в GIF, по лицензионным соображениям по умолчанию недоступен. Вы можете включить его перед компиляцией ImageMagic (если устанавливаете ее из исходников), однако по идее для легального использования этого алгоритма вам понадобится лицензия от держателя патента на него — компании Unisys.

В паре с этим параметром идет другой:

-quality число — тут задается качество сжатия. Работает для форматов .jpeg, .miff и .png. Число, характеризующие сжатие, может быть от 0 до 100, по умолчанию 75. Чем ниже значение, тем меньше файл, однако больше искажение картинки.

Чтобы описать convert полностью, не хватит целой книги. Вернее, именно книги и хватит, а нам нужно еще обозреть другие утилиты из комплекта ImageMagic. Поэтому обратим внимание и на них.

Для просмотра слайд-шоу можно использовать команду animate. Чтобы просмотреть файлы по маске в текущей директории, достаточно набрать:

Здесь параметр -delay указывает временной промежуток в сотых долях секунды (у нас получается 1 секунда), через которые вам будет демонстрироваться очередное изображение.

Утилита mogrify — вещь довольно мутно документированная, однако с ее помощью можно массово конвертировать файлы, не прибегая к сочинению скриптов. Например, дадим команду:

Что она делает? Конвертирует в текущей директории все .bmp-файлы в .jpeg. Но согласно руководству, эта утилита предназначена совсем для другого — «трансформации изображения или последовательности изображений».

В состав ImageMagic входят еще такие утилиты как Montage (для монтажа нескольких картинок в одну), Composite (примерно того же назначения, что и предыдущая), Conjure (интерпретатор скриптов встроенного в ImageMagic языка Magick Scripting Language (MSL)) — последняя заинтересует скорее программистов. Впрочем, для них и без того раздолье — имеется ряд интерфейсов между ImageMagic и такими языками как C/C++, Perl, Java и др. Разобравшись с пакетом, вы настолько автоматизируете обработку изображений, что воочию убедитесь в справедливости такого названия — ImageMagic. Действительно, волшебство.

Рекомендуем ещё прочитать:






Данную страницу никто не комментировал. Вы можете стать первым.

Ваше имя:
Ваша почта:

RSS
Комментарий:
Введите символы или вычислите пример: *
captcha
Обновить





Хостинг на серверах в Украине, США и Германии. © sector.biz.ua 2006-2015 design by Vadim Popov