/ / Як швидко змінити розмір, перетворити та змінити зображення з терміналу Linux

Як швидко змінити розмір, конвертувати та змінити зображення з терміналу Linux

заголовок imagemagick

ImageMagick - це набір утиліт командного рядкадля модифікації та роботи з зображеннями. ImageMagick може швидко виконувати операції над зображенням з терміналу, виконувати пакетну обробку багатьох зображень або інтегруватися в скрипт bash.

ImageMagick може виконувати широкий спектроперацій. Цей посібник познайомить вас із синтаксисом та основними операціями ImageMagick та покаже, як поєднувати операції та виконувати пакетну обробку багатьох зображень.

Установка

ImageMagick не входить до стандартних установок Ubuntu та багатьох інших дистрибутивів Linux. Щоб встановити його на Ubuntu, використовуйте таку команду:

sudo apt-get install imagemagick

Перетворення між форматами

Команда convert робить зображення, виконуєдії на ньому та зберігає зображення із зазначеним іменем файлу. Одне з найосновніших завдань, яке ви можете зробити з цим, - це перетворення зображень між форматами. Наступна команда бере файл PNG із назвою “howtogeek.png” у поточному каталозі та створює з нього зображення JPEG:

convert howtogeek.png howtogeek.jpg

конвертувати формати

Ви також можете вказати рівень стиснення для зображень JPEG:

convert howtogeek.png -quality 95 howtogeek.jpg

Число має бути від 1 до 100. ImageMagick використовує рівень якості вхідного зображення, якщо це можливо. Якщо ні, ImageMagick за замовчуванням має значення 92.

Зміна розміру зображень

Команда convert також може швидко змінити розмір зображення. Наступна команда просить ImageMagick зменшити розмір зображення до 200 пікселів у ширину та 100 пікселів у висоту:

convert example.png -resize 200x100 example.png

Ми використовували ту саму назву файлу, тому ImageMagick замінить оригінальний файл.

змінити розмір

ImageMagick намагатиметься зберегти пропорціїякщо ви використовуєте цю команду. Це змінить зображення, щоб воно розмістилося в межах 200 × 100, але зображення може бути не зовсім 200 × 100. Якщо ви хочете, щоб зображення набуло певного розміру - навіть якщо воно зіпсувало співвідношення сторін, - додайте знак оклику до розмірів:

convert example.png -resize 200x100! example.png

Ви також можете вказати конкретну ширину або висотуі ImageMagick зменшить розмір зображення до цієї ширини або висоти, зберігаючи пропорції. Наступна команда зменшить розмір зображення до ширини 200:

convert example.png -resize 200 example.png

Наступна команда зменшить розмір зображення до висоти 100:

convert example.png -resize x100 example.png

Обертання зображення

ImageMagick може швидко обертати зображення. Наступна команда робить зображення з назвою howtogeek.jpg, повертає його на 90 градусів і зберігає обернене зображення як howtogeek-rotated.jpg:

convert howtogeek.jpg -rotate 90 howtogeek-rotated.jpg

Якщо ви вказали одне і те ж ім'я файлу, ImageMagick збереже обернене зображення над вихідним файлом зображення.

обертати

Застосування ефектів

ImageMagick може застосовувати різноманітні ефекти до зображення. Наприклад, наступна команда застосовує ефект "вугілля" до зображення:

convert howtogeek.jpg -charcoal 2 howtogeek-charcoal.jpg

вугілля

Команда вугілля застосовує художній ефект стилю "вугілля" до зображення - команда 2 у команді дозволяє контролювати силу ефекту.

Howtogeek-вугілля

Наступна команда застосовує ефект “Implode” із силою 1:

convert howtogeek.jpg -implode 1 howtogeek-imploded.jpg

вибухнути

Ефект вибуху робить так, ніби в центрі зображення чорна діра.

Howtogeek-вибухнув

Поєднання операцій

Всі ці операції можна поєднувати. За допомогою однієї команди ви можете змінити розмір зображення, повернути його, застосувати ефект і перетворити в інший формат:

convert howtogeek.png -resize 400x400 -rotate 180 -charcoal 4 -quality 95 howtogeek.jpg

howtogeek-комплекс

Це лише початок того, що ви можете зробити з ImageMagick. Є ще багато операцій, які можна поєднати.

Пакетна обробка

Ви можете скористатися Bash, щоб швидко це зробитипакетна обробка багатьох зображень. Наприклад, наступна команда буде приймати всі файли PNG у поточному каталозі, обертати їх та зберігати нову копію кожного із додаванням “rotated-” на початку кожного імені файлу.

for file in *.png; do convert $file -rotate 90 rotated-$file; done

Пакетна обробка

Ви можете легко змінити цю команду для виконання інших дій. Ви також можете інтегрувати команди пакетної обробки в сценарій оболонки Bash для автоматизації операцій обробки зображень.


Будь-яка стаття про ImageMagick не включатиме багатощо з цим можна зробити - варіантів і команд просто забагато. Якщо ви зацікавлені зробити більше з ImageMagick, ознайомтеся з офіційною документацією на веб-сайті ImageMagick, щоб отримати набагато більш глибокий огляд ImageMagick.