Подтвердить что ты не робот

Извлеките слои из 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, поэтому, если есть еще один (предпочтительно, командной строки) инструмент, который может достичь этого, это прекрасно.

4b9b3361

Ответ 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