image processing Estrai i livelli da PSD con ImageMagick, preservando il layout




imagemagick windows command line (2)

Sto usando ImageMagick per estrarre i livelli da un PSD, e li fa uscire tutti bene con:

convert image.psd image-%d.png

Ma le immagini PNG risultanti sono di dimensioni variabili, a seconda del contenuto effettivo del livello. Quello che mi piacerebbe è estrarre tutti i livelli, ma averli tutti della stessa dimensione, in modo da poterli facilmente sovrapporre l'un l'altro in un secondo momento e avere tutto in ordine come nel PSD originale.

Se aiuta a visualizzarlo, questo è quello che sto ottenendo con il comando qui sopra:

+----+
|A   |   +-+   +-+
|    | = |A| + |B|
|   B|   +-+   +-+
+----+

E quello che voglio è:

+----+   +----+   +----+
|A   |   |A   |   |    |
|    | = |    | + |    |
|   B|   |    |   |   B|
+----+   +----+   +----+

Con le immagini risultanti con uno sfondo trasparente in modo che io possa fare questo:

+----+   +----+ 
|A   |   |A   |+
|    | = |    ||
|   B|   |   B||
+----+   +----+|
          +----+

Non sono in alcun modo legato a ImageMagick, quindi se c'è un altro strumento (preferibilmente a linea di comando) in grado di raggiungere questo obiettivo, va bene.


Answer #1

Digita questo per estrarre il numero di livello 2 da un file PSD:

convert \ <filename>.psd[0] \ <filename>.psd[2] \ \( \ -clone 0 \ -alpha transparent \ \) \ -swap 0 \ +delete \ -coalesce \ -compose src-over \ -composite \ <extracted-filename>.png

Questo crea prima un canvas trasparente con le stesse dimensioni del file PSD, quindi lo combina con il layer 2 mantenendo il layout originale ( -coalesce )


Answer #2

Uso questa riga di comando per fare ciò che descrive:

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




psd