如何合成两个独特的透明PNG系列?

时间:2019-02-27 18:41:06

标签: imagemagick imagemagick-convert mogrify

我有以下两个独特的透明PNG系列:

folder1/*-0.png, folder1/*-1.png, folder1/*-2.png, etc.
folder2/*-0.png, folder2/*-1.png, folder2/*-2.png, etc.

我希望输出为父目录中的组合图像,如下所示:

*-0.png, *-1.png, *-2.png, etc.

含义*-0.pngfolder1/*-0.png覆盖在folder2/*-0.png之上。

这是我成功使用一对脚本完成的脚本,但无法批量处理:

convert folder1/*-0.png folder2/*-0.png -gravity center -composite -format png -quality 100 output.png

1 个答案:

答案 0 :(得分:1)

我还是不明白,但是认为您想要这样的bash脚本:

#!/bin/bash

cd folder1

# Iterate over all PNGs
for f in *.png; do
  this="$f"
  that="../folder2/$f"
  result="../$this"
  echo Combining $this with $that to produce $result
  echo convert "$this" "$that" -gravity center -composite "$result"
done

您将其另存为HOME目录中的merge,然后启动Terminal并运行此命令使其可执行(只需一次):

chmod +x merge

然后,您可以使用cd转到父目录,例如:

cd where/the/images/are

并使用以下命令运行命令:

$HOME/merge