使用psd-tools可将psd转换为png或jpg,先通过psdimage.open()打开文件,调用composite()合成图像后保存;如需导出单个图层,可遍历可见层并逐个渲染保存,注意颜色模式转换、透明通道处理及内存占用问题。

使用 psd-tools 可以方便地在 Python 中读取和操作 PSD 文件。如果你希望将 PSD 文件转换为其他图像格式(如 PNG、JPG 等),可以通过提取合成图像或逐层处理来实现。以下是具体方法。
安装 psd-tools
确保已安装 psd-tools:pip install psd-tools
将 PSD 转换为 PNG 或 JPG
最常见需求是将 PSD 导出为标准图像格式。以下代码将整个 PSD 合成后保存为 PNG:from psd_tools import PSDImage
<h1>打开 PSD 文件</h1><p>psd = PSDImage.open('example.psd')</p><h1>合成图像(包含所有图层的最终效果)</h1><p>image = psd.composite()</p><div class="aritcle_card flexRow">
<div class="artcardd flexRow">
<a class="aritcle_card_img" href="/ai/778" title="Bardeen AI"><img
src="https://img.php.cn/upload/ai_manual/001/503/042/68b6da1a6d59a334.png" alt="Bardeen AI" onerror="this.onerror='';this.src='/static/lhimages/moren/morentu.png'" ></a>
<div class="aritcle_card_info flexColumn">
<a href="/ai/778" title="Bardeen AI">Bardeen AI</a>
<p>使用AI自动执行人工任务</p>
</div>
<a href="/ai/778" title="Bardeen AI" class="aritcle_card_btn flexRow flexcenter"><b></b><span>下载</span> </a>
</div>
</div><p><span>立即学习</span>“<a href="https://pan.quark.cn/s/00968c3c2c15" style="text-decoration: underline !important; color: blue; font-weight: bolder;" rel="nofollow" target="_blank">Python免费学习笔记(深入)</a>”;</p><h1>保存为 PNG</h1><p>image.save('output.png')</p><h1>如需保存为 JPG(注意:JPG 不支持透明通道)</h1><h1>image.convert('RGB').save('output.jpg', quality=95)</h1><p>
提取单个图层并保存
有时需要导出特定图层,例如图标或文字层:# 遍历所有图层
for layer in psd:
if layer.is_visible(): # 只处理可见图层
layer_image = layer.composite()
if layer_image:
layer_image.save(f'layers/{layer.name}.png')
注意事项
转换时需要注意以下几点:- PSD 的颜色模式(如 CMYK)可能不直接兼容 RGB 输出,必要时进行色彩空间转换
- 透明区域在 PNG 中可保留,在 JPG 中需填充背景色
- 复杂样式(如阴影、叠加)可能无法完全还原,取决于 psd-tools 的渲染能力
- 大文件或高分辨率 PSD 可能占用较多内存
基本上就这些。通过 composite() 方法获取图像数据后,就可以用 Pillow 支持的任意格式保存。









