Руководства

Как нанести надпись на картинки с помощью ImageMagick

2014.04.28

Дано: папка с картинками.

Требуется: на каждую картинку нанести надпись с именем этой картинки (прямо на изображении нарисовать)

Решение:

# For each JPG file in the current directory
# Place the name of the file (without the extension) to the bottom right corner inside the gray rectangle
# And save this new image inside the "annotated" subdirectory
mkdir annotated ; for i in *.jpg; do convert -background '#00000080' -fill white label:"${i%.*}" miff:- |composite -gravity SouthEast -geometry +0+3  - "$i" "annotated/$i"; done

В этом one-liner’е мы делаем:

  1. Создаём папку annotated для хранения меченых картинок
  2. Проверяем только JPG файлы
  3. Делаем магию при помощи ImageMagick
  4. Сохраняем меченую картинку в annotated

На меченой картинке в нижнем правом углу будет полупрозрачный прямоугольник, на котором белыми буквами будет написано название файла, без расширения. Имя без расширения извлекается при помощи выражения ${i%.*}, рецепт стырен со stackoverflow.

Предыдущий: Как перейти в другую папку на другом диске в консоли Windows Следующий: Печать буклета из WinDjView на не дуплексном принтере