Більшість програм для роботи з картинками мають звичний графічний інтерфейс. Але коли треба зменшити сотню фото, перевести папку PNG у WebP чи поставити водяний знак на всі зображення одразу, мишкою це робити – справжня каторга. Тут на допомогу приходить ImageMagick – безкоштовний консольний редактор зображень, який робить усе це однією командою.

ImageMagick – це набір утиліт для перегляду, конвертації й редагування зображень у сотнях форматів. Він вільний, кросплатформний і працює в Linux, Windows та macOS. Ба більше, багато графічних програм під капотом використовують саме його. Нижче розповім, як встановити ImageMagick, як перевірити, що він працює, і з чого почати роботу.

Звісно, пакетна обробка є і в GIMP, через скрипти, і я сам нею користуюся. Але для швидких масових операцій консольний ImageMagick зручніший у рази.

Команда magick і старі команди

Один нюанс, який варто знати одразу. У новіших версіях ImageMagick усі утиліти викликаються через одну команду magick: наприклад, magick input.png output.webp. У старіших версіях, які ще трапляються в репозиторіях деяких дистрибутивів, кожна утиліта була окремою командою: convert, mogrify, identify тощо.

Добра новина: старі команди здебільшого працюють і в нових версіях (якщо встановлені так звані legacy-утиліти), тож приклади з інтернету підійдуть у будь-якому разі. Якщо в тебе є magick – користуйся ним, якщо ні – пиши ту саму команду без magick на початку.

Як встановити ImageMagick у Linux

Найімовірніше, ImageMagick у тебе вже є: його часто підтягують інші графічні програми. Перевір версію командою:

magick -version

Якщо команда не знайдена, спробуй стару:

convert -version

Якщо обидві мовчать – встанови з репозиторію свого дистрибутиву.

Ubuntu, Linux Mint, Debian:

sudo apt install imagemagick

Fedora:

sudo dnf install ImageMagick

Arch Linux, Manjaro, EndeavourOS:

sudo pacman -S imagemagick

Якщо в репозиторії застаріла версія

Свого часу я сам натрапив на цю ситуацію: у моєму Arch Linux давно стояла свіжа версія, а в Ubuntu з репозиторію ставилась помітно старіша, без команди magick. Якщо тобі потрібна найновіша ImageMagick, є два шляхи.

1. AppImage з офіційного сайту. Найпростіший варіант: на сторінці завантаження ImageMagick є готовий файл для Linux. Завантажуєш, робиш виконуваним і запускаєш:

chmod +x magick
./magick -version

2. Збірка з вихідного коду. Варіант для тих, хто не боїться терміналу. Спершу встанови залежності (у Debian та Ubuntu для цього потрібно увімкнути джерельні репозиторії у «Джерелах програм»), потім завантаж вихідний код з GitHub і збери програму:

sudo apt build-dep imagemagick
git clone --depth 1 https://github.com/ImageMagick/ImageMagick.git
cd ImageMagick
./configure
make
sudo make install
sudo ldconfig /usr/local/lib

Після цього magick -version має показати щойно зібрану версію.

Як встановити ImageMagick у Windows

У Windows програму можна поставити однією командою через вбудований менеджер пакетів winget:

winget install ImageMagick.ImageMagick

Або класично: заходиш на сторінку завантаження, гортаєш до розділу Windows Binary Release і завантажуєш інсталятор.

Сторінка завантаження ImageMagick для Windows

Далі, як заведено у Windows, клацаєш «Далі» по черзі віконечок 😉 Одне з них важливе: обов'язково постав галочку Install legacy utilities (e.g. convert), інакше старі команди на кшталт convert не працюватимуть, а більшість інструкцій в інтернеті написані саме з ними.

Галочка Install legacy utilities під час встановлення ImageMagick у Windows

Також корисно лишити галочку Add application directory to your system path – тоді magick запускатиметься з будь-якої папки в командному рядку.

Утиліти ImageMagick: що вміє кожна

ImageMagick – це не одна програма, а цілий набір інструментів. У новіших версіях вони викликаються як magick назва, у старіших – просто за назвою.

  • convert (у новіших версіях – просто magick) – конвертація форматів, зміна розміру, обрізання, поворот, ефекти. Найпопулярніша утиліта, про неї я написав окрему статтю: ImageMagick: використання утиліти convert.
  • mogrify – те саме, що convert, але перезаписує оригінали. Ідеально для пакетної обробки, тільки працюй із копіями!
  • identify – показує формат, розміри, колірний простір та інші характеристики зображення, а також помічає пошкоджені файли.
  • composite – накладає одне зображення на інше, наприклад водяний знак.
  • montage – збирає кілька картинок в одну: колаж, мініатюри, аркуш контактів.
  • compare – показує різницю між двома зображеннями.
  • display і animate – перегляд зображень і послідовностей у графічному вікні.
  • import – знімок екрана або вікна прямо з терміналу (для звичайних скріншотів зручніше програми зі статті про скріншоти в Linux).
  • stream – витягує окремі пікселі або частину великого зображення.
  • conjure – виконує сценарії обробки, написані мовою Magick Scripting Language.

Перші кроки: три корисні команди

Щоб одразу відчути силу ImageMagick, ось кілька команд на щодень.

Перевести PNG у WebP:

magick picture.png picture.webp

Дізнатися розміри й формат файлу:

magick identify photo.jpg

Зменшити всі JPG у папці до ширини 1200 пікселів (працюй із копією папки!):

magick mogrify -resize 1200x *.jpg

Більше прикладів – у статті про утиліту convert. До речі, ImageMagick добре підготує криве фото сторінки чи блідий скан до розпізнавання тексту в Linux: вирівняти, обрізати, підтягнути контраст. А якщо тобі потрібно те саме, але з відео й аудіо, подивись мою статтю про конвертацію медіафайлів за допомогою FFmpeg. Інші матеріали про консольні інструменти зібрані за позначкою Консольні програми Linux.