OS | 文件类型/扩展名 |
---|---|
Mac OS | 8BPS |
Windows | .PSD |
大型文档格式(8BPB/PSB)支持任何维度中高达300000像素的文档。PSB格式支持所有Photoshop功能,如图层、效果和过滤器。PSB格式在许多方面与Photoshop原生格式相同。本文档将通过 PSB 标记来涵盖PSB格式中发现的差异。
所有数据都以big-endian字节顺序存储。在Windows平台上,读取或写入时必须对短整数和长整数进行字节交换。
为了实现跨平台兼容性,Photoshop所需的所有信息都存储在数据叉中。然而,为了与其他Macintosh应用程序的互操作性,一些信息在存储在文件资源叉中的资源中重复:
为了与图像编目应用程序兼容,“pnot” 资源id 0包含对存储在其他资源中的缩略图、关键字和标题信息的引用。
缩略图存储在 “PICT” 资源中,关键字存储在 “STR#” 资源128中,标题文本存储在“text”资源128。有关这些资源格式的更多信息,请参阅Inside Macintosh:QuickTime Components和Extensions Fetch Awareness Developer’s Toolkit。
Photoshop还创建了 “icl8'-16455” 和 “ICN#'-16455 资源,其中包含将在Mac OS Finder中显示的缩略图。
Photoshop的“文件信息”对话框中的所有数据都存储在“ANPA”资源10000中。此资源中的数据存储为IPTC-NAA记录2。有关此资源格式的更多信息,请参阅Documentation文件夹的IPTC文件夹中的文档。
Photoshop文件格式分为五个主要部分,如下所示,包括文件头信息、颜色映射表、图像资源、图层与蒙版信息、图像数据。Photoshop文件格式有许多长度标记。使用这些长度标记可以从一个剖面移动到下一个剖面。长度标记通常用字节填充,以四舍五入到最接近的2或4字节间隔。
PSD文件结构 |
---|
文件头信息 |
颜色映射表 |
图像资源 |
图层与蒙版信息 |
图像数据 |
文件头具有固定长度;其他四个部分的长度是可变的。
在编写其中一个部分时,您应该编写该部分中的所有字段,因为Photoshop可能会尝试读取整个部分。无论何时写入文件并跳过字节,都应该为跳过的字段显式写入零。
读取其中一个以长度分隔的节时,请使用长度字段来决定何时停止读取。在大多数情况下,长度字段表示后面的字节数,而不是记录数。
所有表中 “Length” 列中的值均以字节为单位。
所有定义为Unicode字符串的值都包括: