2017-02-22 23 views
1

Я новичок в ImageMagick, и я пытаюсь добавить 3 разных ярлыка к 3-мя (маленьким) изображениям, а затем вставить их поверх фонового изображения, каждый из которых находится в углу.Объединение нескольких изображений и текста с помощью ImageMagick

Все изображения и текстовые строки неизвестны раньше, поэтому я пишу сценарий для обработки этого. Моя последняя (неудачная) попытка:

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 

У меня был лучший результат раньше, но это было в основном случайно и решил обратиться за помощью эксперта.

Конечный результат должен выглядеть примерно так: Expected result

ответ

0

-page не уважает -gravity. -page всегда относится к северо-западному углу (вверху слева) изображения. Вы можете поочередно использовать -gravity и -geometry с -composate попарно. Создайте одно изображение, а затем составьте поверх фона в нужном месте. Повторите с этим результатом и другим изображением для наложения. См. http://www.imagemagick.org/Usage/layers/#convert

 Смежные вопросы

  • Нет связанных вопросов^_^