我使用ImageMagick从PSD中提取层,它可以通过将它们全部提取出来
convert image.psd image-%d.png
但是生成的PNG图像具有不同的尺寸,这取决于层的实际内容。我想要的是提取所有的层,但它们的大小都相同,这样我以后就可以很容易地将它们叠在一起,并像在原始PSD中一样将所有层排列整齐。
如果它有助于将其可视化,这就是我目前通过上面的命令得到的:
+----+|A|+-++-+||=|A|+|B||B|+-++-++----+
我想要的是:
+----++----++----+|A|||=||+|||B|||B|+----++----++----+
得到的图像有一个透明的背景,所以我可以这样做:
+----++----+|A|+||=||||B||B||+----++----+|+----+
我与ImageMagick没有任何联系,所以如果有另一个(最好是命令行(工具可以实现这一点,那也没关系。
我使用这个命令行来执行以下描述:
convert.exe <filename>.psd -set dispose Background -coalesce <outfilename>.png
键入此项可从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
(
最终,这就是对我有效的方法:
convert -dispose Background "input.psd" -layers coalesce "output.png"
信用归于";snibgo";来自ImageMagick论坛。