магия изображения: выравнивание текста по области вправо - PullRequest
3 голосов
/ 21 сентября 2009

я борюсь с этим: Я создаю изображение, похожее на таблицу. Все идет хорошо, но я не могу заставить это работать: я хочу разместить текст в x, y: 10,10, но хочу выровнять его по правому краю в области 40x40. Зачем? потому что они числа. Когда я рисую текст, можно поместить его в 10,10; по умолчанию он будет размещен на 10,10 и, следовательно, будет выровнен по левому краю. Но у меня есть некоторые цифры, которые я хочу «выровнять по правому краю». Следующий «столбец» начинается в позиции X 55, поэтому я хочу зарезервировать некоторую воображаемую область от x = 10 до x = 50 (чтобы оставить некоторый запас для следующего столбца) и нарисовать текст справа налево в 10, 50.

Я нашел вариант геометрии и регион, но мои пробные версии и ошибки не дали мне хороших результатов.

Michel

1 Ответ

7 голосов
/ 21 сентября 2009

-gravity в помощь, проверьте документацию с примерами .

Обновление : ОК. Я неправильно понял задачу.

Но ИМХО вы все равно можете сначала создать свои числа в виде изображения (конечно, вы можете настроить шрифт и т. Д.) И обрезать его:

/usr/bin/convert -fill black -size 40x40 label:$NUMBERS -transparent white -trim  numbers.gif

Теперь проверьте размер нового изображения

/usr/bin/identify trimmed.gif

Затем рассчитайте, где расположить его на вашем изображении. Я оставляю это тебе; -)

Теперь вам нужно только объединить числа с вашим изображением в идеальное положение (замените + X + Y).

/usr/bin/composite -geometry +X+Y trimmed.gif original_image.jpg original_with_numbers.jpg

НТН

...