Как аннотировать текст в верхней части обрезанного изображения с помощью ImageMagick - PullRequest
0 голосов
/ 10 марта 2020

Я хочу отметить счетчик в верхней части серии изображений, каждое из которых обрезано. Я написал:

crop=1050x"$height"+0+"$top"
loc=90x90+10+"$top"
time=$((time-1))
convert $image -crop "$crop" -pointsize 24 -fill white -undercolor '#00000080' -gravity North -annotate $loc  "$time" "out/page_"$counter"_"$i".png"    

Это называется в al oop, и переменная top увеличивается. Таким образом, я вижу счетчик в верхней части первого выходного изображения, но не на остальных. Похоже, что сначала он рисует счетчик на исходном изображении, а затем обрезает его, поэтому счетчик исчезает после обрезки.

Я пытался использовать переменную $loc для размещения аннотации, но она также не работает!

1 Ответ

2 голосов
/ 11 марта 2020

Когда вы «-crop» с ImageMagick, вам часто нужно добавлять «+ repage» сразу после операции, чтобы установить геометрию подкачки обрезанных фрагментов обратно в WxH + 0 + 0. Это может быть важно, потому что некоторые операции, такие как «-annotate», будут располагаться в соответствии с этой геометрией.

В вашей команде, если вы хотите, чтобы аннотация находилась на одинаковом расстоянии от вершины каждого изображения, повторялась после кадрирования и не увеличивайте это расстояние с помощью «$ top» в переменной «$ lo c». Просто используйте количество пикселей, которое вы хотите чтобы текст был сверху вниз.

...