ImageMagick - обработка изображений

Материал из ALT Linux Wiki

ImageMagick - набор консольных утилит для обработки изображений.

apt-get install ImageMagick

Соблюдая регистр!

Команды

Изменить размер изображения

convert img.jpg -resize 100×150 img1.jpg

Сжать изображение по ширине до 100px

При этом высота будет сжата пропорционально.

convert img.jpg -resize 100 img1.jpg

Сжать изображение по высоте до 150px

Аналогично предыдущему.

convert img.jpg -resize ×150 img1.jpg

Изменение размера изображения без сохранения соотношения сторон

  • -resize < MMM x NNN! >
convert img.jpg -resize 100×150! img1.jpg

Изменение размера изображения в процентах

  • -resize < MMM% > — изменение размера изображения в %(процентах)
convert img.jpg -resize 20% img1.jpg

Поворот изображения

Для того что бы повернуть изображение существует параметр -rotate, где значение указывается в градусах:

convert img.jpg -rotate 20 img1.jpg

Конвертирование в другой формат

mogrify -format tif *.png

Переведет все *.png-изображения в *tif

Качество *.jpg

convert img.jpg -quality 75 img2.jpg

Демотиватор

Demotivator.png
convert bu.png \
    -bordercolor black -border 3 \
    -bordercolor white -border 2 \
    \(-background black -fill white -pointsize 24 \
        label:Бу!   -trim +repage \
        -bordercolor black -border 10 \
    \) -gravity South -append \
    -bordercolor black -border 10
    -gravity South -chop 0x10 \
    miloslavsky.png

Создание GIF

Часть I

С помощью FFmpeg

Часть II

Собрать .gif из кадров .png:

convert -loop 0 frames/ffout0*.png chaplin.gif

У меня получилась такая GIF-ка:

Chaplin.gif

Petr-akhlamov -20:36, 7 февраля 2020 (UTC)

Пакетное конвертирование

Предположим, вам нужно сконвертировать много изображений *.jpg и *.png в каталоге с определенными параметрами.

Для этого создадим в текстовом редакторе следующий скрипт:

#!/bin/bash
mkdir conv
for f in *.jpg; do
    convert "$f" -rotate 20 conv/"${f%.*}".png
done

В строке, где выделено жирным, вставьте нужные вам параметры.

Сохраним его как conv.sh и сделаем исполняемым:

chmod +x conv.sh

Переходим в каталог с файлами и выполняем данный скрипт.[1]