我正在使用ImageMagick从PSD中提取图层,并且它可以很好地完成:
convert image.psd image-%d.png
但是,生成的PNG图像具有不同的尺寸,具体取决于图层的实际内容。我想要的是提取所有图层,但是它们具有相同的大小,这样我以后就可以轻松地将它们放在彼此的顶部,并使所有内容与原始PSD中的一样排列。
如果它有助于可视化,这就是我目前使用上述命令获得的内容:
+----+ |A | +-+ +-+ | | = |A| + |B| | B| +-+ +-+ +----+
我想要的是:
+----+ +----+ +----+ |A | |A | | | | | = | | + | | | B| | | | B| +----+ +----+ +----+
结果图像具有透明背景,以便我可以这样做:
+----+ +----+ |A | |A |+ | | = | || | B| | B|| +----+ +----+| +----+
我与ImageMagick无关,所以如果有另一个(最好是命令行)工具可以实现这一点,那很好。
答案 0 :(得分:23)
我使用此命令行执行描述:
convert.exe <filename>.psd -set dispose Background -coalesce <outfilename>.png
答案 1 :(得分:7)
键入此项以从PSD文件中提取第2层:
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 :(得分:2)
最后这对我有用:
convert -dispose Background "input.psd" -layers coalesce "output.png"