Используйте Imagemagick для создания панели с текстом вверху изображения и другой текстовой панели внизу - PullRequest
0 голосов
/ 05 марта 2019

Попытка создать сплошное прозрачное полотно 1920X1920, а затем поместить цветную полосу 1920X420 вверху с центрированным текстом и то же самое внизу с другим центрированным текстом.

Что я делаю сейчас, когда он получаетсозданный создает прозрачное изображение 1920X1920 и помещает полосу вверху с текстом, но полоса внизу отсутствует.

convert -size 1920x1920 xc:"transparent" -size 1920x420 -font 
Din-Condensed-Bold -pointsize 84 canvas:#800000 -fill black -
gravity center  caption:"TEXT FOR THE BOTTOM"   -gravity south  
-composite -size 1920x420 -font Din-Condensed-Bold -pointsize 84 
canvas:#800000 -fill black -gravity center  caption:"TEXT FOR THE 
TOP"   -gravity north  -composite newfile.png

1 Ответ

0 голосов
/ 05 марта 2019

Несколько вещей ...

Основная проблема заключается в том, что вы устанавливаете цвет фона для метки с -background вместо canvas:.

Обратите внимание, что -font,-size, -pointsize и -fill являются настройками , поэтому они требуют настройки только один раз, а затем остаются установленными до изменения, поэтому вам не нужно повторять их.

Ваша команда становится такой:

convert -size 1920x1920 xc:yellow \
    -size 1920x420 -font "AppleChancery"  -pointsize 84 -background "#800000" -fill black \
    -gravity center  caption:"TEXT FOR THE BOTTOM" -gravity south -composite         \
    -gravity center  caption:"TEXT FOR THE TOP"    -gravity north -composite result.png

enter image description here

Очень по-испански, не так ли?: -)


Если вы действительно искали -undercolor:

convert -size 1920x1920 xc:yellow \
    -size 1920x420 -font "AppleChancery"  -pointsize 84 -background magenta -undercolor cyan -fill black \
    -gravity center  caption:"TEXT FOR THE BOTTOM" -gravity south -composite         \
    -gravity center  caption:"TEXT FOR THE TOP"    -gravity north -composite result.png

enter image description here


Вы говорите, что вам нужно "передышку" по краям, поэтому я добавлю еще один пример.Я делаю красные и желтые рамки немного меньше пурпурного фона и размещаю верхнюю вставку на 5 пикселей сверху и на 5 слева, используя -geometry.Аналогично, я установил гравитацию на SouthWest и установил желтое поле на 2 пикселя от правого края и 25 от нижнего:

convert -size 100x100 xc:magenta -size 90x20               \
   -gravity northwest xc:red    -geometry +5+5  -composite \
   -gravity southeast xc:yellow -geometry +2+25 -composite result.png

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...