在imagemagick中两两合并文件夹中的图像

Combining images from folder two by two in imagemagick

在 imagemagick 中两两合并文件夹中的图像。

你好,

我有一个包含图像的文件夹,例如这个列表:

如何使用 imagemagick 水平合并它们:

维萨

我通常不编写 BATCH 文件,但这对我有用 - 可能有更好的方法...

@ECHO OFF
REM Combine images side-side pairwise from the current directory using ImageMagick
REM Images are assumed to be named file1.jpg, file2.jpg, file3.jpg
REM Images are resized to a common height, as specified on next line
SET HEIGHT=500
SETLOCAL ENABLEDELAYEDEXPANSION
FOR /L %%A in (1,2,1000) DO (
   SET /A "B=%%A+1"
   SET _f1=file%%A.jpg
   SET _f2=file!B!.jpg
   IF NOT EXIST "!_f1!" GOTO BRK
   IF NOT EXIST "!_f2!" GOTO BRK
   SET _result=joined%%A_!B!.jpg
   ECHO Joining !_f1! and !_f2! into !_result!
   convert "!_f1!" "!_f2!" -resize x%HEIGHT% +append "!_result!"
)
:BRK

我不知道你如何在 Windows 中执行 while 循环,所以我使用 for 循环。我猜你的文件不超过 1,000 个。如果这样做,请增加第三行的 1,000。您可以在脚本顶部更改图像调整大小的常用高度。

一般来说,如果您想放置两个名称不符合您的 fileXYZ.jpg 命名标准的图像,假设它们是 imageA.jpgimageB.jpg,并排放置并将两者的大小调整为 500 像素高并另存为 result.jpg 你会做的

convert imageA.jpg imageB.jpg -resize x500 result.jpg