Imagemagick - 组合 'crop' 和 'add layer' 参数

Imagemagick - combining 'crop' and 'add layer' arguments

我有两个命令可以正常工作:

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 文件:

并将其转换为这样的图像:

但是在这个过程中,创建了一个这样的文件:

我想知道是否可以合并这两个命令,以便 a) 只有一次调用 convert 命令,b) 只创建一个文件作为输出。

我试过这个命令,

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

但输出不同:

如何将这两个命令合二为一?

您应该可以在括号中做一些 "aside-processing" 来克隆 Nord.png 图像并进行裁剪和颜色更改,然后当您退出括号中,您仍然会拥有开始时使用的 Nord.png 以及图像堆栈中克隆、重新着色、调整大小的图像,这就是您的第二个命令的启动方式:

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 是一个 设置,在您更改它之前会被记住,因此无需重复。