Объединение нескольких изображений и текста с помощью ImageMagick
Я новичок в ImageMagick и пытаюсь добавить 3 разные метки к 3 разным (маленьким) изображениям, а затем вставить их поверх фонового изображения, каждое из которых находится в углу.
Все изображения и текстовые строки неизвестны заранее, и поэтому я пишу сценарий для этого. Моя последняя (неудачная) попытка:
convert -page +0+0 ${bg}.png \
\( -page +0+0 -gravity south -pointsize 16 \
-stroke '#000C' -strokewidth 4 -annotate 0 "$label" \
-stroke none -strokewidth 20 -fill white -annotate 0 "$label" \) \
\( -page +0+0 ${im1}.png \
-stroke '#000C' -strokewidth 2 -annotate 0 "text1" \
-stroke none -fill white -annotate 0 "text1" \) \
\( -page +${hor_offset}+0 {im2}.png \
-gravity south -pointsize 14 \
-stroke '#000C' -strokewidth 2 -annotate 0 "text2" \
-stroke none -fill white -annotate 0 "text2" \) \
\( -page +0+${ver_offset} ${im3}.png \
-stroke '#000C' -strokewidth 2 -annotate 0 "text3" \
-stroke none -fill white -annotate 0 "text3" \) \
+page -flatten out.png
Раньше у меня был лучший результат, но это было в основном случайно, и я решил обратиться за помощью к эксперту.
Конечный результат должен выглядеть примерно так: ожидаемый результат
1 ответ
-страница не уважает -гравитацию. -страница всегда относительно северо-западного угла (вверху слева) изображения. Вы можете поочередно использовать -gravity и -geometry с -composite попарно. Создайте одно изображение, затем составьте поверх фона в правильном месте. Повторите с этим результатом и другим изображением для наложения. См. http://www.imagemagick.org/Usage/layers/