Эрик Л. ответил правильно - +1 от меня за это!- но -annotate
не дает вам большого контроля над внешним видом текста.
Если вы ищете симпатичность, то лучше выберите что-то, что использует -composite
.Вы можете использовать команду IM, чтобы сначала создать наложенное изображение (которое использует полупрозрачный фон), а затем наложить его поверх исходного изображения.
Вот пример того, как сделать это с помощью -composite
вместо-annotate
, используя сценарий, который обрабатывает каждый файл PNG в текущем каталоге.Этот даже автоматически адаптирует размер шрифта и вписывает его в доступную «ширину * 90%» - это скрипт Bash (см. Комментарии к Win-эквиваленту):
for img in *.png; do
width=$(identify -format %W ${img})
width=$(( ${width} * 9 / 10 ))
convert \
-background '#0008' \
-gravity center \
-fill white \
-size ${width}x100 \
caption:"${img}" \
"${img}" \
+swap \
-gravity south \
-composite \
"with-caption-${img}"
done
Пример иллюстрации для одного оригиналаи соответствующие выходные данные приведены ниже:
!
Вот команда, которая использует -annotate
, пытаясь установить несколько вещей помимо параметров по умолчанию:
for img in so#12231624-right.png; do
convert \
"${img}" \
-fill red \
-undercolor '#0008' \
-pointsize 24 \
-gravity south \
-annotate +0+5 "${img}" \
"with-annotate-${img}"
done