Извлеките слои из PSD с помощью ImageMagick, сохраняя макет
Я использую ImageMagick для извлечения слоев из PSD, и он отлично справляется с ними:
convert image.psd image-%d.png
Но полученные изображения PNG имеют разные размеры, в зависимости от фактического содержимого слоя. Я бы хотел извлечь все слои, но иметь их одинакового размера, чтобы я мог легко сложить их поверх друг друга позже, и все выстроится так же, как в исходном PSD.
Если это помогает визуализировать его, это то, что я сейчас получаю с помощью команды выше:
+----+
|A | +-+ +-+
| | = |A| + |B|
| B| +-+ +-+
+----+
И я хочу:
+----+ +----+ +----+
|A | |A | | |
| | = | | + | |
| B| | | | B|
+----+ +----+ +----+
С полученными изображениями, имеющими прозрачный фон, чтобы я мог это сделать:
+----+ +----+
|A | |A |+
| | = | ||
| B| | B||
+----+ +----+|
+----+
Я никоим образом не привязан к ImageMagick, поэтому, если есть еще один (предпочтительно, командной строки) инструмент, который может достичь этого, это прекрасно.
Ответы
Ответ 1
введите это, чтобы извлечь номер слоя 2 из файла PSD:
convert <filename>.psd[0] <filename>.psd[2] \( -clone 0 -alpha transparent \) -swap 0 +delete -coalesce -compose src-over -composite <extracted-filename>.png
это создает первый прозрачный холст с тем же размером PSD файла, а затем объединяет его со слоем 2, сохраняя его оригинальным макетом (-coalesce)
надеюсь, что это поможет
Ответ 2
Я использую эту командную строку, чтобы описать:
convert.exe <filename>.psd -set dispose Background -coalesce <outfilename>.png