add filename as text in the corner of an image file

Это - хорошее использование для ENV [команда]

env verify

Один путь состоит в том, чтобы вызвать команду, когда Вы не знаете, где это.

BTW: / мусорное ведро символьная ссылка в большом количестве систем, Солярис, например.

6
04.06.2015, 01:11
2 ответа

MOGRIFY делает пакетную обработку, чтобы вы могли использовать что-то подобное (изменить шрифт, размер, цвет, положение и т. Д. Согласно вашему вкусу):

mogrify -font Liberation-Sans -fill white -undercolor '#00000080' \
-pointsize 26 -gravity NorthEast -annotate +10+10 %t *.jpg

, чтобы добавить Имя файла без расширения (% t ) Всем jpg в текущем режиме, например ORCA-LM-1.jpg :

enter image description here

Это перезаписывает ваши файлы, поэтому убедитесь, что у вас есть резервные копии.
Если вы используете другой формат (например, PNG ) для выходных файлов, то исходные файлы останутся без изменений:

mogrify -format 'png' -font Liberation-Sans -fill white -undercolor \
'#00000080' -pointsize 26 -gravity NorthEast -annotate +10+10 %t *.jpg
7
27.01.2020, 20:25

Действительно, вы можете использовать ImageMagick для записи текста в изображение.Используйте утилиту convert , чтобы преобразовать изображение в новый файл (или mogrify , чтобы преобразовать файл на месте, но я не рекомендую это, потому что если вы сделаете ошибку, вы потерять оригинал). Вы указываете текст с помощью опции -annotate , которая может содержать escape-последовательности , такие как % t для имени файла без каталога или расширения. Есть еще много опций, которые позволяют вам управлять положением, размером, шрифтом, цветом и т. Д.

Предположим, ваши файлы находятся в подкаталоге с именем original текущего каталога. Создайте каталог с меткой :

mkdir labeled

Чтобы преобразовать изображения, вызовите convert следующим образом:

convert original/001abcd.jpg -fill green -pointsize 20 -annotate +0+0 %t -gravity north-east labeled/001abcd.jpg

Первый параметр после -annotate - это геометрия, которая указывает расположение текста. + 0 + 0 - угол; -гравитация на северо-востоке говорит, что это верхний правый угол. Второй параметр - это текст, который здесь просто escape-последовательность, которая говорит «используйте имя файла».

Чтобы преобразовать все файлы .jpg в каталоге, напишите цикл. Шаблон подстановки *. Jpg представляет собой список файлов .jpg , поэтому этот цикл действует для всех файлов .jpg в исходном ] каталог. В теле цикла «$ x» относится к имени файла с частью каталога; «$ {x ## * /}» относится к имени файла без части каталога.

for x in original/*.jpg; do
  convert "$x" original/001abcd.jpg -fill green -pointsize 20 -annotate +0+0 %t -gravity north-east "labeled/${x##*/}"
done
3
27.01.2020, 20:25

Теги

Похожие вопросы