#imagemagick
#imagemagick
Вопрос:
Пытаясь создать сплошное прозрачное полотно размером 1920Х1920, затем поместите цветную полосу размером 1920Х420 вверху с текстом по центру и такую же внизу с другим текстом по центру.
То, что я делаю сейчас, когда оно создается, создает прозрачное изображение 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:
Несколько вещей…
Основная проблема заключается в том, что вы задаете цвет фона для метки с помощью -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
Очень по-испански, вы не находите? 🙂
На случай, если вы действительно искали -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
Вы говорите, что хотите немного «передышки» по краям, поэтому я добавляю еще один пример. Я делаю красные и желтые рамки немного меньше пурпурного фона и размещаю верхнюю вставку на расстоянии 5 пикселей сверху и 5 слева, используя -geometry
. Аналогично, я установил гравитацию на юго-запад и расположил желтую рамку на расстоянии 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
Комментарии:
1. Это было великолепно. Спасибо @Mark. Я забыл спросить, возможно ли добавить отступы только к баннерам? Я смог использовать -border для добавления отступа, но он применяется ко всему изображению, когда я просто хочу, чтобы он был на верхнем баннере и нижнем баннере. Если вы хотите, я могу создать отдельный вопрос, чтобы я мог дать вам баллы. 🙂
2. Попробуйте добавить
-bordercolor blue -border x35
непосредственно перед выходным именем файла. Это означает, что вы устанавливаете только высоту границы и не задаете ширину, поэтому она не применяется к сторонам.3. Это позволяет охватить все это целиком. Итак, вместо синей рамки вокруг всего пространства 1920×1920. Я пытаюсь
4. Поместите одну строку вокруг розового баннера вверху и одну — вокруг розового баннера внизу в соответствии с вашим примером выше. По сути, я пытаюсь добавить текстовое заполнение больше, чем рамку. Так что, возможно, есть другой способ. Я просто не хочу, чтобы текст полностью прилегал к краям окна, в котором он находится.
5. Через минуту мне нужно перейти в автономный режим. Создайте новый вопрос с примером того, что вы хотите, и кто-нибудь из других ребят ответит на него, или я вернусь к нему позже. Вопросы бесплатны 🙂