使用 ImageMagick 附加和批处理来自不同文件夹的图像

Append and Batch Process Images From Different Folders Using ImageMagick

我在一个文件夹(文件夹 A)中有数百张图片需要与另一个文件夹(文件夹 B[=33] 中的 2 个文件合并=]).

文件夹 A 包含 100x100 方形图像。我在 文件夹 B.

中创建了一个 100px 宽的页眉和页脚

我需要将 文件夹 B 中的页眉和页脚与 文件夹 A.

中的方形图像合并

所以最终结果应该是:

-- HEADER --
  -IMAGE-
-- FOOTER --

我对一个图像(见下面的命令)进行了测试,其中页眉、图像和页脚存在于 same 文件夹中,但是我如何根据我的情况批处理它以上情况?

convert -append -quality 100 -gravity Center "C:\test\*.jpg" "C:\test\output\img.jpg"

另一种选择可能是拥有一个带有图像遮罩的文件,以便将其插入页眉和页脚之间?

对于 windows, 是一个很好的起点。

Get-ChildItem C:\FolderA -Filter *.jpg | Foreach-Object {
    $img = $_.FullName
    $out = Join-Path C:\test $_.Name
    convert.exe C:\FolderB\header.jpg $img C:\FolderB\footer.jpg -append $out
}

对于Unix/OSX/Linux,使用

for img in `ls ./FolderA/*.jpg`; do
    convert ./FolderB/header.jpg $img ./FolderB/footer.jpg -append ./test/$out
done

您的问题非常不清楚 - 每张图片的上方和下方是否有一个单独的页眉和一个页脚,或者每张图片是否有自己的页眉和页脚 - 如果是这样,您如何区分哪个 header/footer 属于哪个图像?应该调用什么输出图像?等等...

无论如何,你的解决方案可能看起来像这样,虽然我从来没有在 Windows 工作过,所以先做一个备份!

CD "Folder A"
FOR %%G in (*.JPG) DO convert "FolderB\header.jpg" "%%G" "FolderB\footer.jpg" -append "%%G"