skip to content
Архитектура в курилке

Приколы с imagemagick

/ чтиво на минуту

Обновлено:
Содержание

Что за зверь

Imagemagick - упоротая консольная утилита, которая позволяет прямо в командной строке менять расширения изображений, разрешения, склеивать несколько, накладывать друг на друга, накладывать текст и многое много другое. Тут просто будет хранилище примеров, которыми я иногда пользуюсь.

Ставится она элементарно:

Terminal window
# MacOS
brew install imagemagick
# Arch
sudo pacman -S imagemagick
# Debian
apt install imagemagick

Получаем метаданные картинки

Terminal window
# magick identify <input image>
magick identify input.jpg

Развернутый вывод

Terminal window
# magick identify -verbose <input image>
magick identify -verbose input.jpg

Меняем формат

Terminal window
# convert input.<input_format> output.<output_format>
convert input.webp output.png

Ресайз

Terminal window
# convert input.jpg -resize <X>x<Y> output.jpg
convert input.jpg -resize 640x480 output.jpg

Коллаж

Берем 4 картинки и объединяем их в одну без фона и полей

Terminal window
montage img_1.png img_2.png img_3.png img_4.png-tile 2x2 -geometry +0+0 result.png
Пример

Убираем черные поля

Есть картинка

Before

Черные поля по бокам убрать можно руками, просто выделив в том же Paint или Photoshop, но что, если это надо сделать на целой куче картинок? Никто не мешает заниматься этим руками, но можно и так:

Terminal window
magick mogrify -fuzz 4% -define trim:percent-background=0% -trim -format jpg img.jpg

Для одной картинки можно проще:

Terminal window
magick mogrify -fuzz 4% -define trim:percent-background=0% -trim img.png
After

Png -> ico

Файл ico может хранить в себе сразу несколько рзрешений одного и того же изображения. Поэтому имя изображение с большим разрешением можно конвертировать его в .ico файл следующим образом:

Terminal window
magick -background transparent icon.png -define icon:auto-resize=16,32,128,256 icon.ico

В данном примере, в полученной icon.ico будут форматы 16x16, 32x32, 128x128 и 256x256 пикселей.