Imagemagick - объединение аргументов 'crop' и 'add layer' - PullRequest
1 голос
/ 04 марта 2020

У меня есть две команды, которые отлично работают:

convert Nord.png -gravity South -crop x80% -fuzz 50% -fill '#5BC236' -opaque '#8FBCBB' -background transparent -extent 800x800 out.png
convert Nord.png out.png -gravity Center -composite -background '#2E3440' -gravity Center -extent 3840x2160 background.png

Они делают то, что берут файл PNG следующим образом:

enter image description here

И преобразовать его в изображение, подобное этому:

enter image description here

Но в процессе создается такой файл:

enter image description here

Мне интересно, возможно ли объединить эти две команды, чтобы: а) был только один вызов для команды convert, и б) только один файл создается как вывод.

Я пробовал эту команду,

convert Nord.png -gravity South -crop x80% -fuzz 50% -fill '#5BC236' -opaque '#8FBCBB' -background transparent -extent 800x800 out.png -gravity Center -composite -background '#2E3440' -gravity Center -extent 3840x2160 background.png

Но вывод отличается:

enter image description here

Как мне объединить эти две команды в одну?

1 Ответ

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

Вы должны быть в состоянии сделать «обработку в сторону» в скобках, чтобы клонировать изображение Nord.png и внести изменения в цвет и обрезку, после чего при выходе из скобок у вас останется * 1004. * вы начали с клонированного, перекрашенного, измененного размера изображения в стеке изображений, так или иначе начинается ваша вторая команда:

convert Nord.png \
    \( +clone -gravity South -crop x80% -fuzz 50% -fill '#5BC236' -opaque '#8FBCBB' -background transparent -extent 800x800 \) \
    -gravity Center -composite -background '#2E3440' -extent 3840x2160 background.png

-gravity Center - это настройка , которая получает запоминается до тех пор, пока вы не измените его, поэтому нет необходимости повторять его.

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