Как нанести надпись на картинки с помощью 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’е мы делаем:
- Создаём папку
annotated
для хранения меченых картинок - Проверяем только JPG файлы
- Делаем магию при помощи ImageMagick
- Сохраняем меченую картинку в
annotated
На меченой картинке в нижнем правом углу будет полупрозрачный прямоугольник, на котором белыми буквами будет написано название файла, без расширения.
Имя без расширения извлекается при помощи выражения ${i%.*}
, рецепт стырен со stackoverflow.