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
  • Параметры:
    • исходное изображение - bu.png
    • надпись - label:'Бу!'
    • размер шрифта - -pointsize 40
    • обрезать снизу на 0x... единиц - -chop 0x...
    • выходное изображение - 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)

Создание PDF

Примечание: формат png замените на тот, в который вы сканировали изображения, а mypdf на желаемое имя файла

1. Отсканируйте изображения для будущего файла

2. Разместите их в отдельной папке

3. Перейдите в папку и выполните команду:

convert -loop 0 *.png mypdf.pdf

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

Предположим, вам нужно сконвертировать много изображений *.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]