Я написал следующий скрипт, который использует утилиту ImageMagick * convert
для добавления меток осей к существующему изображению.Путь по отношению к углу изображения
LEFT_="l -30,0 +2,+2 -6,-2 +6,-2 -2,+2 z"
RIGHT_="l 30,0 -2,+2 +6,-2 -6,-2 +2,+2 z"
convert -size 240x160 pattern:SMALLFISHSCALES \
-pointsize 16 -fill black -background white \
-gravity SouthEast -splice 0x20 \
-draw "translate 40,0 text 0,0 'Time' stroke red path 'm 5,2 $RIGHT_'" \
-gravity NorthWest -splice 20x0 \
-draw "rotate +90 translate 40,-10 text 0,0 'Value' path 'm -5,2 $LEFT_'" \
example.png
Который производит следующее изображение:
Это почти то, что я после этого, за исключением того, что красная стрелка неуместна. Я ожидал, что красная стрелка появится рядом с меткой Time
, так как ее начальная точка указывается как относительное положение в той же команде рисования. К сожалению, похоже, что опция -gravity
влияет на примитив text
, но не на примитив path
.
Есть ли способ ссылки на юго-восточный угол или текстовую метку Time
при указании начальной позиции красной стрелки? Я не могу использовать абсолютные координаты, потому что размер изображения меняется.
ImageMagick * 6.7.8-9 на CentOS 7
Если меня не хватает чего-то, это все еще оставляет меня с той же проблемой.Как рисовать стрелку на правом краю синего квадрата, если я не знаю заранее, насколько широким будет изображение? – nispio
Извините, я неправильно понял. Я думал, что гравитация, которую вы использовали для сращивания, влияет на гравитацию, которую вы хотели использовать для своих путей, поэтому я по-глупо сделал способ избежать гравитации и сращивания :-) Во всяком случае, у меня была другая попытка сейчас ... –