gpt4 book ai didi

imagemagick - 使用 ImageMagick 在一个正方形中组合多个图像并调整其大小

转载 作者:行者123 更新时间:2023-12-04 12:51:36 26 4
gpt4 key购买 nike

所以我想创建一张由三张小图片组成的 3600x2280 大图片。第一个应调整为 1680x1050 并放置在左上角。第二个需要调整为 1920x1200 并立即放置在它的右侧(+1680 以上)。第三张图片应调整为 1920x1080 并放置在右下角 (+1680+1200)。左下角将只是空白/透明。

我已经尝试了我在网上搜索过的各种命令,并且认为对于三张图片中的两张,我已经有点接近以下内容了:

convert -define png:size=3600x2280 \( Photos/DSC05525-original.jpg -resize 1680x1050 \) -geometry +0+0 -composite \( Photos/Sydney-Loftus-Train-Station-original.jpg -resize 1920x1200 \) -geometry +1680+0 -extent 3600x2280 test.png

...但这会将第二张图片放在第一张图片上(我想是因为它不知道要延伸到最后?)。我已经尝试了 -composite、-gravity 和 +repage 的各种组合,但似乎找不到解决方案。

最佳答案

有很多方法可以做到这一点。选择最符合您的思维方式的一种!我使用了这样的测试图像:

1.jpg => red
2.jpg => green (lime actually)
3.jpg => blue

方法一

convert -background none                               \
1.jpg -resize 1680x1050! \
\( 2.jpg -resize 1920x1200! \) +append \
\( 3.jpg -resize 1920x1080! -gravity east \) -append \
result.png

enter image description here

也就是说...“让所有未绘制的区域保持透明。调整图像 1 的大小。调整图像 2 的大小并将其放置在图像 1 的右侧(+append)。调整图像 3 的大小并将其向东对齐。将其附加到图像 1 和 2 下方(-append)。”

方法二

convert -background none                  \
\( 2.jpg -resize 1920x1200! \) \
\( 3.jpg -resize 1920x1080! \) -append \
\( 1.jpg -resize 1680x1050! \) +swap +append result.png

那是说...“加载图像并调整其大小 2. 加载图像并调整其大小 3. 将图像 3 置于图像 2 下方 (-append)。加载图像并调整其大小 1. 放置图像1 在图像列表中的 (+swap) 图像 2 之前。现在将列表中的第二个图像附加到第一个 (+append) 的右侧。”

方法三

convert -background none                                    \ 
1.jpg -resize 1680x1050! -extent 3600x2280 \
\( 2.jpg -resize 1920x1200! -geometry +1680 \) -composite \
\( 3.jpg -resize 1920x1080! -geometry +1680+1200 \) -composite result.png

那就是说......“让任何未绘制的区域保持透明。加载图像 1 调整它的大小,然后将 Canvas 扩展到完整的输出大小以容纳后续图像。加载图像 2,调整大小,定位并放置到 Canvas 上。加载图片 3,调整大小并将其绘制到 Canvas 上。”

方法四

只是为了好玩,这是一种完全不同的思考方式:

{ convert 1.jpg -resize 1680x1050! miff:- ;   \
convert 2.jpg -resize 1920x1200! miff:- ; \
convert -size 1680x1 xc:none miff:- ; \
convert 3.jpg -resize 1920x1080! miff:- ; } |
montage -background none -geometry +0+0 -tile 2x2 miff:- result.png

那就是说......“开始一个复合语句,它将加载 4 张图像并调整其大小,并将它们中的每一个作为 MIFF(Magick 图像文件格式)发送到一个 montage 命令,该命令将将它们放在 2x2 网格中(-tile 2x2),它们之间没有空格(-geometry +0+0)。”

关于imagemagick - 使用 ImageMagick 在一个正方形中组合多个图像并调整其大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35754992/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com