使用ImageMagick从PSD提取图层,保留布局
image-processing
imagemagick
5
0

我正在使用ImageMagick从PSD提取图层,并使用以下命令将它们全部搞清楚了:

convert image.psd image-%d.png

但是,最终生成的PNG图像具有不同的尺寸,具体取决于图层的实际内容。我想要的是提取所有图层,但将它们都设置为相同的大小,以便以后可以轻松地将它们彼此叠放,并使所有内容与原始PSD中的排列在一起。

如果有助于可视化,这是我目前使用上面的命令所得到的:

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

我想要的是:

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

在生成的图像具有透明背景的情况下,我可以这样做:

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

我与ImageMagick没有任何联系,因此,如果有另一个(最好是命令行)工具可以实现此目的,那很好。

参考资料:
Stack Overflow
收藏
评论
共 2 个回答
高赞 时间 活跃

我使用此命令行执行描述的操作:

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

收藏
评论
新手导航
  • 社区规范
  • 提出问题
  • 进行投票
  • 个人资料
  • 优化问题
  • 回答问题

关于我们

常见问题

内容许可

联系我们

@2020 AskGo
京ICP备20001863号