Styler2go
Styler2go

Reputation: 603

Generate Multi-Layed PSD with ImageMagick

I am looking for a way to convert a fully in imagemagick generated image as a psd with all "elements" in the image on a seperate layer.

My current command looks like this:

convert -size "300x200" 
    ( xc:none -background "#ff0000" ) 
    ( xc:none -gravity "SouthEast" -pointsize "20" -fill "#f486d8" -draw "text 9,9 'This is a Test'" -mosaic ) 
    ( xc:none -gravity "SouthWest" -pointsize "12" -fill "#f486d8" -draw "text 9,9 'Magni natus veniam.'" ) 
-layers merge test.psd

But it returns a broken PSD. Adding -layers merge will return a working PSD but with (obviously) only one layer.

What am i doing wrong to get multiple layers?

Upvotes: 0

Views: 629

Answers (1)

fmw42
fmw42

Reputation: 53101

This is the Unix syntax for your command in ImageMagick. It seems to work for me. Is this what you want?

convert -size "300x200" -background "#ff0000" \
\( xc:none \) \
\( xc:none -gravity "SouthEast" -pointsize "20" -fill "#f486d8" -draw "text 9,9 'This is a Test'" \) \
\( xc:none -gravity "SouthWest" -pointsize "12" -fill "#f486d8" -draw "text 9,9 'Magni natus veniam.'" \) \
\( -clone 0-2 -layers merge \) \
-reverse test.psd

Here is the Windows equivalent.

convert -size "300x200" -background "#ff0000" ^
( xc:none ) ^
( xc:none -gravity "SouthEast" -pointsize "20" -fill "#f486d8" -draw "text 9,9 'This is a Test'" ) ^
( xc:none -gravity "SouthWest" -pointsize "12" -fill "#f486d8" -draw "text 9,9 'Magni natus veniam.'" ) ^
( -clone 0-2 -layers merge ) ^
-reverse test.psd

Upvotes: 1

Related Questions