You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用ImageMagick从PSD提取指定图层生成透明PNG/PDF?

用ImageMagick处理PSD图层提取与转换方案

一、提取Layer 2和Layer 3生成1000x1000透明PNG

1. 确认图层索引

先执行命令查看PSD的图层对应索引(ImageMagick中PSD图层从0开始计数):

identify -format "%[scene]: %[label]\n" layout.psd

输出示例:

0: Layer 1
1: Layer 2
2: Layer 3

2. 执行提取合并命令

根据上面的索引,用以下命令提取Layer 2(索引1)和Layer 3(索引2),生成指定尺寸的透明PNG:

convert -size 1000x1000 xc:none \
  layout.psd[1] -geometry +[x1]+[y1] -composite \
  layout.psd[2] -geometry +[x2]+[y2] -composite \
  output.png
  • 替换[x1]+[y1]和[x2]+[y2]为原图层的偏移位置,可通过identify -verbose layout.psd输出中的Offset字段获取
  • 如果不需要精确对齐,仅叠加图层到画布中心,可简化为:
convert layout.psd[1] layout.psd[2] -background none -extent 1000x1000 -gravity center -composite output.png

二、通用方法:选择任意PSD图层生成透明PDF

1. 确定目标图层索引

同样用以下命令列出所有图层的索引与名称:

identify -format "%[scene]: %[label]\n" layout.psd

2. 生成透明PDF

假设需要提取索引为0、2、3的图层,执行以下命令:

convert -size 1000x1000 xc:none \
  layout.psd[0] -geometry +[x0]+[y0] -composite \
  layout.psd[2] -geometry +[x2]+[y2] -composite \
  layout.psd[3] -geometry +[x3]+[y3] -composite \
  -compress Zip output.pdf
  • -compress Zip参数确保PDF使用无损压缩,完整保留透明通道
  • 若无需精确位置,简化版命令:
convert layout.psd[0] layout.psd[2] layout.psd[3] -background none -extent 1000x1000 -gravity center -composite -compress Zip output.pdf

注意事项

  • 确保ImageMagick支持PSD格式,部分环境需安装libpsd依赖库
  • 图层索引需以实际执行identify命令的输出为准,避免因PSD结构差异导致错误
  • 生成PNG或PDF时,-background none是保留透明通道的关键参数

内容的提问来源于stack exchange,提问作者manu4543

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 12:23:03