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

2 ответов


введите это, чтобы извлечь слой № 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)


Я использую эту командную строку, чтобы сделать то, что описывает:

convert.exe <filename>.psd -set dispose Background -coalesce <outfilename>.png