Как составить две уникальные серии прозрачных PNG? - PullRequest
0 голосов
/ 27 февраля 2019

У меня есть следующие две уникальные серии прозрачных 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 Ответ

0 голосов
/ 27 февраля 2019

Я все еще не понимаю, но думаю, что вам нужен сценарий 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
...