先说结论
PSD 是什么格式?
PSD 是 Photoshop Document(Photoshop 文档)的缩写,也是 Adobe Photoshop 的原生存储格式。它是一种分层的位图文档,而不是用来交付的成品图片。存成 .psd 格式时,每个图层、蒙版、混合模式和通道都会无损保留,以后重新打开,还能接着编辑,就像从来没关过一样。
这一个区别,几乎能解释这个格式的所有其他特点。JPG 是冲洗好的照片;PSD 则是底片、暗房笔记和放大机参数,全都装在一个文件里。把 PSD 文件格式看成“存下来的工作台”,而不是“存下来的图片”,它的优点(可以反复重新编辑)和缺点(体积大、跨软件兼容差、浏览器打不开)也就都不奇怪了。
如果你只是收到了这样一个文件,想先看大白话版本,可以先读这篇 PSD 文件是什么的通俗讲解,再回来看这里的格式细节。
为什么 PSD 文件格式有图层,JPG 和 PNG 却没有
JPG、PNG 和 WebP 都是交换格式。它们的任务,是把最终的一幅像素图尽可能紧凑地编码,交给解码器(浏览器、手机、打印机驱动)去显示,而且在任何地方都必须显示得一模一样。对这个任务来说,单层的平面位图正是最合适的设计,这也是全世界的设备都能打开 JPG 的原因。
PSD 格式要做的事情恰恰相反:它保存的是编辑器的状态。Photoshop 的编辑方式,是把一叠图层从下往上合成,所以保存 Photoshop 工作进度的格式,必须把这叠图层完整记下来:每个图层的像素、位置、不透明度、混合模式、名称和可见性,以及作用在它们身上的蒙版和调整。图层并不是后来硬加到格式上的附加功能,它本身就是要保存的东西。
这也是给 PNG 加上图层从来都不现实的原因。真要这样做,每个浏览器在显示一张图之前,都得先就几十种混合模式、剪贴蒙版和调整图层该怎么合成达成一致;只要有分歧,同一个文件在不同地方看起来就会不一样。交付格式有意放弃了这种能力,文档格式则有意把它保留下来。
实用原则
在分层文档里编辑,用平面格式交付。把 PSD 当作源文件留好;凡是要给人看、要上传,或者要发给不会再编辑它的人,都导出一份 PNG 或 JPG。
.psd 文件里到底存了什么
Adobe 公开了 PSD 文件格式的规范,非 Adobe 的软件之所以能读取这类文档,靠的就是它。拆开一个 .psd 文件,通常能看到:
- 图层和图层组:按顺序叠放的独立图像,每个图层都有自己的名称、不透明度、混合模式和显示开关,还可以嵌套进文件夹。
- 图层蒙版和剪贴蒙版:用灰度蒙版隐藏图层的一部分,而不是把它删掉,所以抠图可以一遍又一遍地修整,什么都不会丢。
- 调整图层:曲线、色阶、色相/饱和度等校正,以指令的形式作用在下方的图层上,而不是直接改掉它们的像素。
- 智能对象:嵌入或链接进来的源内容,可以缩放、重新编辑,原始像素不受损伤。样机模板就是用它做的。
- 可编辑文字图层:保留了字体、字号和字距的可编辑文字。所以 PSD 里的标题可以直接改字,不用重新输入、重新排版。
- 矢量形状和路径:与分辨率无关的形状、路径和剪贴路径,和位图图层保存在一起。
- 通道和颜色数据:颜色模式(RGB、CMYK、灰度、Lab 等)、位深度、Alpha 通道、专色通道,以及嵌入的颜色配置文件。
- 拼合后的预览图:整叠图层预先渲染好的最终效果。有些查看器没法真正编辑这个文件,却能显示它的缩略图,靠的就是这张图;分享文件时,Photoshop 的“最大兼容”选项之所以重要,原因也在这里。
以上内容全部不经过有损压缩。PSD 使用无损压缩方案(默认是行程长度编码 RLE,也可以选 ZIP),所以把一个文档反复保存十次,也不会像把 JPG 反复保存十次那样画质下降。
PSD 和 PNG、TIFF、JPG 有什么区别
真正有意义的比较,不是“哪种格式最好”,而是“这个文件用在工作的哪个阶段”。
| 格式 | 图层 | 透明度 | 压缩方式 | 主要用途 |
|---|---|---|---|---|
| PSD | 支持,保存完整的编辑图层 | 支持,每个图层单独透明 | 无损(RLE 或 ZIP) | 工作文档和设计交接 |
| TIFF | 仅支持 Photoshop 图层,写在私有标签里 | 支持 | 无损或不压缩 | 印刷母版和长期存档 |
| PNG | 不支持 | 支持,完整的 Alpha 通道 | 无损 | 需要透明效果的网页和 App 素材 |
| JPG | 不支持 | 不支持 | 有损 | 以小体积交付的照片 |
TIFF 可以带 Photoshop 图层,但这些图层写在一个私有标签里,大多数其他 TIFF 阅读器会直接忽略——同一个文件换个软件打开,通常只能看到拼合后的图像。所以分层 TIFF 只能算 Photoshop 自己的便利功能,不能指望它在别处也能用。
所以设计师会把源文件存成 PSD;客户要一个透明背景的 Logo,就发 PNG;客户要在邮件里放照片,就发 JPG;印厂点名要 TIFF,就发 TIFF。这是四个问题的四个答案,而不是四个互相竞争的格式。
谁在用这种格式,用来做什么
摄影师和修图师
非破坏性修图,成败全看蒙版和调整图层。修图师会保留分层文档,这样三周后客户再提意见,只需要拖一下滑块,不用把整张图重修一遍。
印刷和包装设计师
CMYK 颜色、专色通道、16 位色深和嵌入的颜色配置文件,这种格式都支持,PNG 和 JPG 却没有,所以它很适合用作印前的工作文件。
广告公司和营销团队
成套的 Banner、各社交平台的尺寸版本和设备样机,都以分层模板交付,下一个接手的人几分钟就能换掉产品图、改好标题、重新导出。
游戏、影视和 3D 美术师
纹理贴图、数字绘景、UI 套件和精灵图都是分层制作的,只在导出时才合并,每个元素都能单独调整。
有一类人已经基本不用它了:界面设计师。屏幕界面设计转向了以矢量为主的工具,新的 UI 项目很少再用 PSD 文件格式。但凡像素、蒙版和印刷色彩要紧的地方,它依然是标准格式。
PSD 文件格式的真实局限
一个什么都要保存的格式,总要付出代价。下面这些局限,是真正会打断工作的:
- 体积大:每个图层都无损保存自己的像素,所以一个导出成 JPG 只有 2 MB 的文档,存在硬盘上轻松就有 300 MB。这种格式还有上限:每边最多 30,000 像素,单个文件最大 2 GB;超出这个范围,Photoshop 会改用它的大文档格式 .psb。
- 网页上无法显示:没有哪个浏览器能原生显示 PSD 文件。它不能作为 <img> 的图片来源,不能当社交分享的预览图,也不能作为别人点开就能看的邮件附件。
- 换个软件就会走样:其他编辑器会按公开的规范来读取,但支持程度参差不齐。可编辑文字在导入时常被栅格化,图层样式、调整图层和智能对象可能只是近似还原,或者被直接合并。矢量文字基本只有在 Adobe 软件里,才能真正保持可编辑。
- 字体只是引用,并不包含在文件里:文字图层只是按名称引用某个字体。在没装这个字体的电脑上打开,文字就会被换成别的字体,版式也会悄悄跟着变。
- 新功能到了旧版本会打折扣:新版本加入的功能,拿到旧版本里打开再保存,可能就保不住了;保存时没有带上拼合预览图的文件,甚至在其他任何地方都可能无法预览。
这些都不代表 PSD 文件格式是个糟糕的选择,只代表它不适合用来交付。把文档留作源文件,发给别人的一律用平面导出图。