Я хочу конвертировать текст в изображения, но текст меняется. Я хотел бы сделать это пакетной работой. Это мой первый удар по проблеме:
#!/bin/bash
COUNT=$(ls -f *.jpg *.png *.gif | wc -l)
for f in $( ls *.jpg *.png *.gif ); do
while [ $COUNT -gt 0 ]; do
echo $f
REPLY=""
if [ REPLY="" ]; then
echo \\n"Text?"
read REPLY
convert -pointsize 18 -font /usr/share/fonts/truetype/dejavu/DejaVuSans.ttf -fill white -stroke black -strokewidth 1 -draw "text 1,23 '$REPLY'" $f a
fi
COUNT=$((COUNT-1))
done
done
Количество раз, которое я хочу сделать, зависит от общего количества файлов. $ REPLY - строка для записи в изображение.
Проблема в том, что имена файлов здесь состоят в том, что числа, исходные и целевые файлы всегда одинаковы (здесь цель - a).
редактировать: я должен объяснить это на примере: у меня есть фотографии кошки, собаки и слона. На всех картинках я хочу написать имя животного. Но в следующий раз у меня есть фотографии медведя, кота. олень, собака и слон. И я хочу написать «медведь», «мяу» (кошка), «олень», «ваф», «ваф» (собака) и «матовый» или «карл» или «фу» (слон).
Надеюсь, это мало что объясняет из того, что я хочу. Суть в том, что общее количество файлов чередуется, и будет предложен текст для записи в них.