0

我想要这样的图片:

TTTTTTTTTTTTTTTT
E P1 F P2 F P3 E
================
E P4 F p5 F P6 E
BBBBBBBBBBBBBBBB

其中 P{1..6} 是大小相等的矩形图片,E 表示一些水平间距,= 表示一些垂直间距,T 表示一些顶部间距,B 表示一些底部间距。

我想只用一个命令来做到这一点,但我相当确定实际上不可能用蒙太奇来表达这一点。

但是,可能可以通过多个蒙太奇调用来做到这一点。我还没有尝试过,但总的来说,蒙太奇似乎是一种相当特殊的工具,表达图片的语法相当薄弱。

这个特定任务(可编写脚本)有更好的方法吗?

4

1 回答 1

0

如果T, B, E, =,F是不同的值,并且P{1..6}是不同的图像。可能不值得尝试捷径,而是专门构建每一行和每一列。以下示例是一个使用 bash 变量作为占位符的 ImageMagick 命令。

B="-size x15 xc:"
E="-size 5x  xc:"
F="-size 10x xc:"
T="-size x25 xc:"
V="-size x20 xc:" # V is an alias for `=`

EQUALLY_SIZED="-size 20x30"
P1="${EQUALLY_SIZED} xc:CadetBlue1"
P2="${EQUALLY_SIZED} xc:firebrick"
P3="${EQUALLY_SIZED} xc:ForestGreen"
P4="${EQUALLY_SIZED} xc:lavender"
P5="${EQUALLY_SIZED} xc:LemonChiffon"
P6="${EQUALLY_SIZED} xc:OldLace"

convert $T \
        \( $E $P1 $F $P2 $F $P3 $E +append \) \
        $V \
        \( $E $P4 $F $P5 $F $P6 $E +append \) \
        $B \
        -append \
        output.png

指定图像之间的边界和精确空间

此示例有效,因为B, T, &V除了高度之外没有任何值。并且E&F除了宽度之外没有任何价值。如果我们将FPO间隔图像更新为橙色画布......

O="xc:orange"
B="-size x15 ${O}"
E="-size 5x  ${O}"
F="-size 10x ${O}"
T="-size x25 ${O}"
V="-size x20 ${O}" # V alias `=`

...我们可以验证预期的结果。

核实或证明

于 2015-07-28T02:38:16.280 回答