【问题标题】:How to concatenate 3 images like a triangle using ImageMagick/GraphicsMagick如何使用 ImageMagick/GraphicsMagick 像三角形一样连接 3 个图像
【发布时间】:2018-01-03 07:57:34
【问题描述】:

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

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

我想使用一个命令来做到这一点。没有生成 tmp 文件。 我如何使用 IM/GM 做到这一点。

【问题讨论】:

    标签: imagemagick graphicsmagick


    【解决方案1】:

    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
    

    【讨论】:

    • 不错的解决方案 - 请注意,尽管 GrapicsMagick 缺少 smush 操作员 AFAIK。
    • 是的,那是因为 GraphicsMagick 是 ImageMagick 的早期分支,前者大部分保持不变,而后者仍在继续发展。
    【解决方案2】:

    假设所有图片的尺寸都正确,这可能是最简单的:

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

    这就是说... “将小垫片的大小设置为 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
    

    【讨论】:

    • 在@Mark Setchell 之前我没有听说过-reverse
    • @Bonzo 当您需要以错误的顺序构建事物,或者您想在 +append-append 时从右到左或从下到上附加图像时,它非常方便自然是从左到右,从上到下!如果你明白我的意思;-) 你也可以多次使用-swap 来达到同样的效果。
    • 想你回答。但是,如果所有图像大小都相同。怎么办?
    • 这就是第二部分向您展示的内容。将red.png -resize somehow 的部分更改为red.png -resize WxH\!,其中 W 是您想要的宽度,H 是您想要的高度 - 大概是绿色和黑色的高度之和加上 10px 间隔。
    • 谢谢。还有一个问题。 xc:white是什么意思?
    【解决方案3】:

    在 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
    

    【讨论】:

    • ImageMagick 是一个非常强大的工具 - 它可以让您从许多不同的角度解决问题 - 我喜欢它。不错的方法!
    猜你喜欢
    • 1970-01-01
    • 2015-06-16
    • 1970-01-01
    • 2010-09-10
    • 1970-01-01
    • 2016-01-01
    • 1970-01-01
    • 2014-04-15
    • 2022-11-19
    相关资源
    最近更新 更多