Как составить две уникальные серии прозрачных PNG?

У меня есть следующие две уникальные серии прозрачных 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.png было бы folder1/*-0.png накладывается поверх folder2/*-0.png,

Вот сценарий, который я успешно использовал для одной пары, но не смог для пакета:

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

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

Вы бы сохранили это как merge в каталоге HOME, затем запустите Terminal и выполните эту команду, чтобы сделать его исполняемым (необходимо только один раз):

chmod +x merge

Тогда вы можете использовать cd перейти в родительский каталог, например:

cd where/the/images/are

и выполните команду с:

$HOME/merge
Другие вопросы по тегам