使用 ImageMagick 生成多层 PSD

Generate Multi-Layed PSD with ImageMagick

我正在寻找一种方法将完全在 imagemagick 中生成的图像转换为 psd,图像中​​的所有“元素”都在单独的图层上。

我当前的命令是这样的:

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

但它 return 是一个损坏的 PSD。添加 -layers merge 将 return 一个有效的 PSD,但(显然)只有一层。

我做错了什么以获得多层?

这是您在 ImageMagick 中的命令的 Unix 语法。它似乎对我有用。这是你想要的吗?

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

这是 Windows 等价物。

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