如何使用ImageMagick / GraphicsMagick连接三个图像,如三角形

时间:2018-01-03 07:57:34

标签: imagemagick graphicsmagick

我有三张照片,a.jpg,b.jpg,c.jpg。

我想将它们连接起来,使它们看起来如下:

enter image description here

我想使用一个命令执行此操作。没有生成tmp文件。 我怎么能用IM / GM做到这一点。

3 个答案:

答案 0 :(得分:5)

ImageMagick的另一种方法是使用smush而不是追加。 Smush允许偏移。

创建图片:

convert -size 250x250 xc:green green.png
convert -size 250x250 xc:black black.png
convert -size 250x510 xc:red red.png

现在合并它们:

convert -background white red.png \
\( green.png black.png -smush 10 \) \
+smush 10 \
result.png

enter image description here

答案 1 :(得分:2)

假设图像尺寸正确,这可能是最简单的:

convert -size 10x10 green.png xc:white black.png -append xc:white red.png -reverse +append result.png

enter image description here

那说...... “使小间隔物的大小为10x10。加载绿色图像,然后制作白色间隔物,然后加载黑色图像并将它们垂直附加在一起。制作另一个白色间隔物。加载红色图像。反转图像列,使最近添加的红色列位于左侧而不是右侧,并排放置图像。“

我这样做了(从右侧开始)因为GraphicsMagick没有提供括号。

如果图像的尺寸不合适,你会看到更像这样的东西 - 仍然是一个命令:

convert -size 10x10                 \
    \( green.png -resize somehow \) \
    xc:white                        \
    \( black.png -resize somehow \) \
    -append                         \
    xc:white                        \
    \( red.png -resize somehow   \) \
    -reverse +append result.png

答案 2 :(得分:2)

在ImageMagick中执行此操作的另一种方法是将3个图像合成到白色背景图像的正确角落。

创建图片:

convert -size 250x250 xc:green green.png
convert -size 250x250 xc:black black.png
convert -size 250x510 xc:red red.png

过程:

convert -size 510x510 xc:white \
red.png -gravity northwest -composite \
green.png -gravity northeast -composite \
black.png -gravity southeast -composite \
result.png

enter image description here