2. 附加效果层数据

Photoshop 4.0 及更高版本中添加了几种类型的图层信息。这些记录存在于图层记录信息结构的末尾。它们具有以下结构:

长度(单位字节) 描述
4 图层附加效果层标记,总是为“8BIM” 或者 “8B64”
4/8 图层附加效果层标签(PSB为8字节)
4 图层附加效果层数据长度,长度数据,四舍五入为偶数字节计数。(对于PSB,以下类型的长度字节为8:LMsk, Lr16, Lr32, Layr, Mt16, Mt32, Mtrn, Alph, FMsk, lnk2, FEid, FXid, PxSD)
可变 数据

标签类型主要有:

SoCo=纯色
GdFl=渐变
PtFl=图案
brit=亮度/对比度
levl=级别
curve=曲线
expA=暴露
vibA=振动
hue=旧色调/饱和度,Photoshop 4.0
hue2=新色调/饱和度,Photoshop 5.0
blnc=颜色平衡
blwh=黑白
phfl=照片过滤器
mixr=通道混合器
clrL=颜色查找
nvrt=反转
post=后置
thrs=阈值
grdm=渐变贴图
selc=选择性颜色

1. 色阶调整图层,标签为:'levl'

  1. 2字节(short):版本号,总是为2
  2. 10字节 * 29个色阶设置信息,其中第28、29色阶为保留色阶,总是为0
    • 2字节(short):阴影输入色阶(0 - 253)
    • 2字节(short):高光输入色阶(2 - 255)
    • 2字节(short):阴影输出色阶(0 - 255)
    • 2字节(short):高光输出色阶(0 - 255)
    • 2字节(short):中间调输入色阶(10 - 999),该值在图像效果中实际值为 0.1 - 9.99
  3. 4字节(char):色阶附加信息签名,总是为 'Lvls'(PhotoShop 8.0以上)
  4. 2字节(short):色阶附加信息版本,总是为3
  5. 2字节(short):色阶信息总数量,其中附加色阶信息数量为 色阶信息总数量-29
  6. 各个颜色通道附加色阶信息,数据格式如下:
    • 2字节(short):阴影输入色阶(0 - 253)
    • 2字节(short):高光输入色阶(2 - 255)
    • 2字节(short):阴影输出色阶(0 - 255)
    • 2字节(short):高光输出色阶(0 - 255)
    • 2字节(short):中间调输入色阶(10 - 999),该值在图像效果中实际值为 0.1 - 9.99

2. 曲线调整图层,标签为:'curv'

  1. 1字节(byte):保留
  2. 2字节(short):版本号,等于1或4
  3. 4字节(int):曲线通道启用标签,标签共32位,如果该位值为1表示该通道曲线调整图层启用,曲线数量即32位中值为1的位数
  4. 各通道曲线信息,数据格式如下:
    • 2字节(short):曲线通道中设置点的数量 (2-19)
    • 曲线通道中各设置点的信息,数据格式如下:
      • 2字节(short):曲线通道输出点强度(0-255)
      • 2字节(short):曲线通道输入点强度(0-255)
  5. 4字节(char):曲线附加信息签名,总是为 'Crv '(PhotoShop 8.0以上),曲线附加信息事实上与上面基本重复
  6. 2字节(short):曲线附加信息版本,总是为4
  7. 4字节(int):曲线通道数量
  8. 各通道曲线附加信息,数据格式如下:
    • 2字节(short):曲线通道索引号
    • 2字节(short):曲线通道中设置点的数量 (2-19)
    • 曲线通道中各设置点的信息,数据格式如下:
      • 2字节(short):曲线通道输出点强度(0-255)
      • 2字节(short):曲线通道输入点强度(0-255)

3. 亮度/对比度调整图层,标签为:'brit'

  1. 2字节(short):亮度
  2. 2字节(short):对比度
  3. 2字节(short):亮度/对比度平均值
  4. 1字节(byte):Lab颜色模式

4. 色彩平衡调整图层,标签为:' blnc '

  1. 2字节(short):R或C通道阴影设置信息(-100..100)
  2. 2字节(short):G或M通道阴影设置信息(-100..100)
  3. 2字节(short):B或Y通道阴影设置信息(-100..100)
  4. 2字节(short):R或C通道中间调设置信息(-100..100)
  5. 2字节(short):G或M通道中间调设置信息(-100..100)
  6. 2字节(short):B或Y通道中间调设置信息(-100..100)
  7. 2字节(short):R或C通道高光设置信息(-100..100)
  8. 2字节(short):G或M通道高光设置信息(-100..100)
  9. 2字节(short):B或Y通道高光设置信息(-100..100)
  10. 2字节(short):保持明度标记

5. 色相/饱和度调整图层,标签为:' hue2'

  1. 2字节(short):版本号,总是为2
  2. 1字节(bool):着色标记
  3. 1字节(byte):保留
  4. 2字节(short):色相(Photoshop 5.0以上范围为-180...180,Photoshop 4.0范围为–100...100)
  5. 2字节(short):饱和度(Photoshop 5.0以上范围为0...100,Photoshop 4.0范围为–100...100)
  6. 2字节(short):明度(-100...100)
  7. 2字节(short):主色相
  8. 2字节(short):主饱和度
  9. 2字节(short):主明度
  10. 各颜色通道的色相/饱和度设置,共6个颜色通道,依次为红、黄、绿、青、蓝、洋红,数据结构如下:
    • 2字节(short):颜色范围-左
    • 2字节(short):颜色范围-左中
    • 2字节(short):颜色范围-右
    • 2字节(short):颜色范围-右中
    • 2字节(short):色相
    • 2字节(short):饱和度
    • 2字节(short):明度

6. 可选颜色调整图层,标签为:' selc’

  1. 2字节(short):版本号,总是为1
  2. 2字节(short):校正方式,0为相对,1为绝对
  3. 各颜色通道修正信息,共10个颜色通道,依次为保留通道(总是为0)、红、黄、绿、青、蓝、洋红、白、中性色、黑。数据格式为:
    • 2字节(short):青色修正量
    • 2字节(short):洋红修正量
    • 2字节(short):黄色修正量
    • 2字节(short):黑色修正量

7. 阈值调整图层,标签为:' thrs’

  1. 2字节(short):阈值色阶(1...255)
  2. 2字节(short):保留

8. 反相调整图层,标签为:' nvrt’,该图层没有要设置的参数

9. 色调分离调整图层,标签为:' post’

  1. 2字节(short):色阶(2...255)
  2. 2字节(short):保留

10. 通道混合器调整图层,标签为:' mixr’

  1. 2字节(short):版本号,总是为1
  2. 2字节(short):单色标记
  3. 各颜色通道混合参数,共4个通道,通道依次为R、G、B或C、M、Y、K,多余的通道为0。各通道数据格式如下:
    • 2字节(short):R或C颜色混合参数(-200…200)
    • 2字节(short):G或M颜色混合参数(-200…200)
    • 2字节(short):B或Y颜色混合参数(-200…200)
    • 2字节(short):K颜色混合参数(-200…200)
    • 2字节(short):混合常数(-200…200)

11. 渐变映射调整图层,标签为:' grdm’

  1. 2字节(short):版本号,总是为1(Photoshop 6.0以上)
  2. 1字节(bool):反相标记
  3. 1字节(bool):仿色标记
  4. 4字节(int):渐变名称长度
  5. 2字节 * 渐变名称长度:渐变名称(Unicode字符串)
  6. 2字节(short):渐变色标数量
  7. 渐变色标信息列表,数据结构如下:
    • 4字节(int):色标位置
    • 4字节(int):色标中点位置
    • 2字节(short):色标颜色空间类型
    • 4 * 2字节(short):颜色空间中的色标颜色值
    • 2字节:保留
  8. 2字节(short):不透明度色标数量
  9. 不透明度色标信息列表,数据结构如下:
    • 4字节(int):不透明度色标位置
    • 4字节(int):不透明度色标中点位置
    • 2字节(short):不透明度色标不透明度
  10. 2字节(short):扩展数据数量,总是为2(Photoshop 6.0以上)
  11. 2字节(short):渐变类型,0为实底,1为杂色
  12. 2字节(short):渐变模式、
  13. 4字节(int):随机数种子
  14. 2字节(short):增加透明度标记
  15. 2字节(short):限制颜色标记、
  16. 4字节(int):粗糙度
  17. 2字节(short):颜色模型类型,是一个颜色空间类型值
  18. 4 * 2字节(short):颜色模型最小颜色值(ARGB值)
  19. 4 * 2字节(short):颜色模型最大颜色值(ARGB值)
  20. 2字节:保留

12. 照片滤镜调整图层,标签为:' phfl’

  • 2字节(short):版本号,3或者2

版本为2时,2 字节颜色空间,后跟 4 * 2 字节颜色分量

  • 2字节(int):颜色空间
  • 4 * 2字节(int):颜色分量

版本为3时,每个XYZ颜色占用4个字节。

  • 4字节(int):X颜色值(XYZ颜色,前3个字节有效)
  • 4字节(int):Y颜色值(XYZ颜色,前3个字节有效)
  • 4字节(int):Z颜色值(XYZ颜色,前3个字节有效)

后面的数据:

  • 4字节(int):浓度(1...100)
  • 1字节(bool):保持明度标记
  • 1字节:保留

13. 效果图层1,标签为:' lrFX’

  1. 2字节(short):版本号,总是为 0
  2. 2字节(short):效果数量
  3. 效果数据列表:
    • 4字节(char):签名,总是为'8BIM'
    • 4字节(char):效果签名
    • 效果列表,根据不同的效果签名分别为
      • 效果图层公共状态,效果签名为'cmnS'
        • 4字节(int):以下三个字段的数据大小,目前为7
        • 4字节(int):版本号,总是为0
        • 1字节(bool):显示效果图层标记
        • 剩下的字节:保留
      • 投影效果,效果签名为'dsdw'
        • 4字节(int):投影效果图层数据长度,根据不同版本为41字节或51字节
        • 4字节(int):版本号(Photoshop 5.0为0,Photoshop 5.5以上为2)
        • 2字节(short):结构:阴影大小
        • 4字节(int):结构:图层蒙版扩展(0-100)
        • 4字节(int):结构:光源角度
        • 4字节(int):结构:阴影位移距离
        • 2字节:保留
        • 10字节:结构:阴影颜色(2字节颜色空间类型 + 4*2字节颜色值)
        • 4字节(char):混合模式签名,总是为 '8BIM'
        • 4字节(char):结构:混合模式类型(见混合模式类型)
        • 1字节(bool):结构:启用效果标记
        • 1字节(bool):结构:使用全局光标记
        • 1字节(byte):结构:不透明度
        • 10字节(仅版本号为2时):结构:天然颜色(2字节颜色空间类型 + 4*2字节颜色值)
      • 内阴影效果,效果签名为'isdw'
        • 4字节(int):内阴影效果图层数据长度,根据不同版本为41字节或51字节
        • 4字节(int):版本号(Photoshop 5.0为0,Photoshop 5.5以上为2)
        • 2字节(short):结构:阴影大小
        • 4字节(int):结构:图层蒙版缩小(阻塞)(0-100)
        • 4字节(int):结构:光源角度
        • 4字节(int):结构:阴影位移距离
        • 2字节:保留
        • 10字节:结构:阴影颜色(2字节颜色空间类型 + 4*2字节颜色值)
        • 4字节(char):混合模式签名,总是为 '8BIM'
        • 4字节(char):结构:混合模式类型(见混合模式类型)
        • 1字节(bool):结构:启用效果标记
        • 1字节(bool):结构:使用全局光标记
        • 1字节(byte):结构:不透明度
        • 10字节(仅版本号为2时):结构:天然颜色(2字节颜色空间类型 + 4*2字节颜色值)
      • 外发光效果,效果签名为'oglw'
        • 4字节(int):外发光效果图层数据长度,根据不同版本为32字节或42字节
        • 4字节(int):版本号(Photoshop 5.0为0,Photoshop 5.5以上为2)
        • 4字节(int):图素:发光大小
        • 4字节(int):图素:图层蒙版扩展
        • 10字节:结构:发光颜色(2字节颜色空间类型 + 4*2字节颜色值)
        • 4字节(char):混合模式签名,总是为 '8BIM'
        • 4字节(char):结构:混合模式类型(见混合模式类型)
        • 1字节(bool):结构:启用效果标记
        • 1字节(byte):结构:不透明度
        • 10字节(仅版本号为2时):结构:天然颜色(2字节颜色空间类型 + 4*2字节颜色值)
      • 内发光效果,效果签名为'iglw'
        • 4字节(int):内发光效果图层数据长度,根据不同版本为32字节或43字节
        • 4字节(int):版本号(Photoshop 5.0为0,Photoshop 5.5以上为2)
        • 4字节(int):图素:发光大小
        • 4字节(int):图素:图层蒙版缩小(阻塞)
        • 10字节:结构:发光颜色(2字节颜色空间类型 + 4*2字节颜色值)
        • 4字节(char):混合模式签名,总是为 '8BIM'
        • 4字节(char):结构:混合模式类型(见混合模式类型)
        • 1字节(bool):结构:启用效果标记
        • 1字节(byte):结构:不透明度
        • 1字节(bool):图素:光源类型标记,0为从边缘发光照亮,1为从中心发光照亮
        • 10字节(仅版本号为2时):结构:天然颜色(2字节颜色空间类型 + 4*2字节颜色值)
      • 斜面和浮雕效果,效果签名为'bevl'
        • 4字节(int):斜面和浮雕效果图层数据长度,根据不同版本为58字节或78字节
        • 4字节(int):版本号(Photoshop 5.0为0,Photoshop 5.5以上为2)
        • 4字节(int):阴影:光源角度
        • 4字节(int):结构:斜面大小
        • 4字节(int):结构:斜面柔和度(软化)
        • 4字节(char):阴影:高光模式签名,总是为 '8BIM'
        • 4字节(char):阴影:高光模式类型(见混合模式类型)
        • 4字节(char):阴影:阴影模式签名,总是为 '8BIM'
        • 4字节(char):阴影:阴影模式类型(见混合模式类型)
        • 10字节:阴影:高光颜色(2字节颜色空间类型 + 4*2字节颜色值)
        • 10字节:阴影:阴影颜色(2字节颜色空间类型 + 4*2字节颜色值)
        • 1字节(byte):斜面和浮雕效果样式,0为外斜面、1为内斜面、2为浮雕效果、3为枕状浮雕、4为描边浮雕
        • 1字节(byte):阴影:高光不透明度
        • 1字节(byte):阴影:阴影不透明度
        • 1字节(bool):启用效果标记
        • 1字节(bool):阴影:使用全局光标记
        • 1字节(byte):结构:方向,0为上,1为下
        • 10字节(仅版本号为2时):阴影:真实高光颜色(2字节颜色空间类型 + 4*2字节颜色值)
        • 10字节(仅版本号为2时):阴影:真实阴影颜色(2字节颜色空间类型 + 4*2字节颜色值)
      • 颜色叠加效果,效果签名为'sofi' (Photoshop 7.0)
        • 4字节(int):颜色叠加效果图层数据长度,总是为34
        • 4字节(int):版本号,总是为2
        • 4字节(char):颜色:颜色叠加效果样式签名,总是为 '8BIM'
        • 4字节(char):颜色:颜色叠加效果样式类型(见混合模式类型)
        • 10字节:颜色:颜色(2字节颜色空间类型 + 4*2字节颜色值)
        • 1字节(byte):颜色:不透明度
        • 1字节(bool):启用效果标记
        • 10字节:颜色:天然颜色(2字节颜色空间类型 + 4*2字节颜色值)

14. 效果图层2,标签为:'lfx2' (Photoshop 6.0以上)。

从Photoshop 6.0开始,Photoshop采用了对象的格式保存效果图层,下面先介绍各种Photoshop的基础对象数据格式: 这里先介绍一下Photoshop对象中经常用到的2种数据格式:Unicode名称和ID

  1. Unicode名称(下面缩写为(Name))数据格式为:字符串长度(4字节)+ 2字节 * 字符串长度
  2. ID(下面缩写为(ID))数据格式为:ID长度(4字节)+ 1字节 * ID长度,如果ID长度为0或小于4,则表示ID长度为4

基础对象数据格式有:

  1. 布尔型对象:
{
id="?",				// 对象ID,用于说明对应的photoshop属性(ID)
type='bool', 		// 对象类型(char),总是为'bool',4字节
value=?				// 值(bool),1字节
}
  1. 整型对象:
{
id="?",				// 对象ID,用于说明对应的photoshop属性(ID)
type='long',		// 对象类型(char),总是为'long',4字节
value=?				// 值(int),4字节
}
  1. 浮点型对象:
{
id="?",				// 对象ID,用于说明对应的photoshop属性(ID)
type='doub',		// 对象类型(char),总是为'doub',4字节
value=?				// 值(double),8字节
}
  1. Unicode文本型对象:
{
id="?",				// 对象ID,用于说明对应的photoshop属性(ID)
type='TEXT',		// 对象类型(char),总是为'TEXT',4字节
length=?			// 文本长度(int),4字节
text=".."			// 文本字符串,2字节*文本长度
}
  1. 单位值型对象:
{
id="?",				// 对象ID,用于说明对应的photoshop属性(ID)
type='UntF',		// 对象类型(char),总是为'UntF',4字节
unit='..'			// 单位标签(char),4字节. #Ang(角度:基本度数), #Rsl(密度:每英寸为基本单位), #Rlt(距离:基于72ppi), #Nne(无), #Prc(百分比:单位值), #Pxl(像素:标记的单位值)
value=0.0			// 值(double),8字节
}
  1. 枚举型对象:其值指向枚举对象的某一个值
{
id="?",				// 对象ID,用于说明对应的photoshop属性(ID)
type='enum',		// 对象类型(char),总是为'enum',4字节
enumId=".."			// 枚举类ID(ID),
enum=".."			// 枚举ID(ID)
}
  1. 数据型对象:
{
id="?",				// 对象ID,用于说明对应的photoshop属性(ID)
type='alis',		// 对象类型(char),总是为'alis',4字节
length=?,			// 数据长度(int),4字节
data=".."			// 数据,1字节*数据长度
}
  1. 类和全局类对象:
{
id="?",			// 对象ID,用于说明对应的photoshop属性(ID)
type='type',	// 对象类型(char),'type'为类,'GlbC'为全局类,4字节
name=".."		// 类名(Name)
classID=".."	// 类id(ID)
}
  1. 对象型对象: 对象型对象的属性对象即各种Photoshop的基础对象
{
id="?",			// 对象ID,用于说明对应的photoshop属性(ID)
type='Objc',	// 对象类型(char),'Objc'为类,'GlbO'为全局类,4字节
name="..",		// 对象名(Name)
classID='..',	// 类ID(ID)
count=?,		// 属性对象数量(int),4字节
properties=[..]	// 属性对象列表
}
  1. 列表型对象: 列表型对象的对象列表中的对象为各种没有id的Photoshop的基础对象
{
id="?",				// 对象ID,用于说明对应的photoshop属性(ID)
type='VlLs',		// 对象类型(char),总是为'VlLs',4字节
count=?				// 对象列表中的对象数量(int),4字节
objs=[..]			// 对象列表
}
  1. 引用型对象:
{	
id = "?",			// 对象ID,用于说明对应的photoshop属性(ID)
Type = 'obj ',		// 对象类型(char),总是为'obj ',4字节
Count = "?",		// 属性对象数量(int),4字节
Properties = [..]	// 属性对象列表
}

引用型对象的属性对象是一个没有id的对象,包括以下类型:

  1. Property对象:
{
type='prop',		// 对象类型(char),总是为'prop',4字节
name="..",			// 属性名(Name)
classID="..",		// 类id(ID)
								keyId=".."			// Key ID(ID)
}
  1. 类:
{
type='Clss',		// 对象类型(char),总是为'Clss',4字节
name="..",			// 属性名(Name)
classID=".."		// 类id(ID)
}
  1. 值来自枚举ID的枚举型属性对象:
{
type='Enmr',		// 对象类型(char),总是为'Enmr',4字节
name="..",			// 属性名(Name),
classID="..",		// 类id(ID),
typeId="..",		// 枚举类型ID(ID),
enum=".."			// 枚举ID(ID)
}
  1. 有值的普通属性对象
{
type='rele',		// 对象类型(char),总是为'rele',4字节
name="..",			// 属性名(Name)
classID="..",		// (类id(ID)
value=?				// 值(int)(4字节)
}
  1. 索引号属性对象
{ 
type='Idnt',		// 对象类型(char),总是为'Idnt',4字节
value=?				// 索引号(int)(4字节)
}
  1. 序号属性对象:
{
type='indx',		// 对象类型(char),总是为'indx',4字节
value=?				// 序号(int)(4字节)
}
  1. Unicode名称对象
{
type='name', 		// 对象类型(char),总是为'name',4字节
name=".."			// 名称(Name)
}

常用对象数据:

  1. 颜色对象: {id="Clr ", type= 'Objc',name=".."(颜色对象名), classID='RGBC', count=3(颜色数量,总是为3), properties=[颜色属性列表]} 其颜色属性对象为浮点型, 依次为R、G、B, 共3个,格式分别为: 红色:{id="Rd ", type='doub', value=?} 绿色:{id="Grn ", type='doub', value=?} 蓝色:{id="Bl ", type='doub', value=?}

  2. 等高线”为对象型: {id="TrnS ", type= 'Objc',name=".."(对象名称), classID='ShpC',count=?(属性数量), properties=..}, 其属性对象格式为: “等高线名称”为文本型: {id="Nm ", type='TEXT', length=?, text=".."} “等高线曲线”为列表型对象: {id="Crv ", type='VlLs', count=?(曲线点数量), objs=..}, 其曲线点对象为对象型,因为是列表型对象的属性,所以没有id: {type='Objc', name=".."(曲线点名), classID='CrPt', count=?(属性数量(int),4字节), properties=..} 其属性对象分别为:

    • “输入(水平坐标)”为浮点型:{id="Hrzn", type="doub", value=?}
    • “输出(垂直坐标)”为浮点型:{id="Vrtc", type="doub", value=?}
    • “点角度标记”为浮点型:{id="Cnty", type="bool", value=?}

现在回到效果图层2的数据格式:

  1. 4字节(int):效果图层版本号,总是为0
  2. 4字节(int):对象解析版本号,总是为16
  3. 名称长度(4字节)+ 2字节 * 名称长度:效果图层Unicode类名
  4. ID长度(4字节)+ 1字节 * ID长度:效果图层类ID,如果ID长度为0,则表示ID长度为4
  5. 效果图层对象列表,效果图层对象的对象格式分别为:
    1. 显示效果图层标记为布尔型: {id="masterFXSwitch", type='bool', value=?}
    2. 缩放效果图层(未使用)为单位值型: {id="Scl ", type='UntF', unitID='#Prc', value=?}
    3. 投影效果图层为对象型: {id="DrSh", type='Objc', name="..", classId="..", count=?(属性数量), properties[]=".."(属性列表)}, 其属性对象格式分别为:
      • “品质:图层挖空投影标记”为布尔型: {ID="layerConceals", type="bool", value=?}
      • “启用效果标记”为布尔型:{ID="enab", type="bool", value=?}
      • “结构:混合模式类型”为枚举型: {ID="Md ", type="enum", enumID="BlnM"(混合模式枚举类), enum=".."(混合模式类型)} 混合模式类型包括: 'Nrml':正常、 'Dslv':溶解、 'Drkn':变暗、 'Mltp':正片叠底、 'CBrn':颜色加深、 'Lghn':变亮、 'Scrn':滤色、 'CDdg':颜色减淡、 'Ovrl':叠加、 'SftL':柔光、 'HrdL':强光、 'Dfrn':差值、 'Xclu':排除、 'H ':色相、 'Strt':饱和度、 'Clr ':颜色、 'Lmns':明度
      • “结构:阴影颜色”与“结构:天然颜色”相同,都是对象型: {id="Clr ", type= 'Objc',name=".."(颜色对象名), classID='RGBC', count=3(颜色数量,总是为3), properties=..} 其颜色属性对象为浮点型,依次为R、G、B,共3个,格式分别为:
        • 红色:{id="Rd ", type='doub', value=?}
        • 绿色:{id="Grn ", type='doub', value=?}
        • 蓝色:{id="Bl ", type='doub', value=?}
      • “结构:不透明度”为单位值型: {id="Opct", type="UntF", unit="#Prc", value=?(实际值为value*2.55+0.5)}
      • “结构:使用全局光标记”为布尔型: {ID="uglg", type="bool", value=?}
      • “结构:光源角度”为单位值型: {id="lagl", type="UntF", unit="#Ang", value=?}
      • “结构:阴影位移距离”为单位值型: {id="Dstn", type="UntF", unit="#Pxl", value=?}
      • “结构:图层蒙版扩展”为单位值型: {id="Ckmt", type="UntF", unit="#Pxl", value=?}
      • “结构:阴影大小”为单位值型: {id="blur", type="UntF", unit="#Pxl", value=?}
      • “品质:向阴影添加杂色值”为单位值型: {id="Nose", type="UntF", unit="#Prc", value=?}
      • “品质:消除锯齿标记”为布尔型:{ID="AntA", type="bool", value=?}
      • “品质:等高线”为对象型: {id="TrnS ", type= 'Objc',name=".."(对象名称), classID='ShpC',count=?(属性数量), properties=..}, 其属性对象格式为:
          1. “等高线名称”为文本型: {id="Nm ", type='TEXT', length=?, text=".."}
          1. “等高线曲线”为列表型对象: {id="Crv ", type='VlLs', count=?(曲线点数量), objs=..}, 其曲线点对象为对象型,因为是列表型对象的属性,所以没有id: {type='Objc', name=".."(曲线点名), classID='CrPt', count=?(属性数量(int),4字节), properties=..} 其属性对象分别为: “输入(水平坐标)”为浮点型:{id="Hrzn", type="doub", value=?} “输出(垂直坐标)”为浮点型:{id="Vrtc", type="doub", value=?} “点角度标记”为浮点型:{id="Cnty", type="bool", value=?}
    4. 内阴影效果图层为对象型: {id="IrSh", type='Objc', name="..", classId="..", count=?(属性数量), properties[]=".."(属性列表)} 其属性对象格式分别为:
      • “启用效果标记”为布尔型:{ID="enab", type="bool", value=?}
      • “结构:混合模式类型”为枚举型(混合模式类型同上): {ID="Md ", type="enum", enumID="BlnM"(混合模式枚举类), enum=".."(混合模式类型)}
      • “结构:阴影颜色”与“结构:天然颜色”相同,都是对象型(颜色对象类型同上): {id="Clr ", type= 'Objc', name=".."(颜色对象名), classID='RGBC', count=3(颜色数量,总是为3), properties=..}
      • “结构:不透明度”为单位值型: {id="Opct", type="UntF", unit="#Prc", value=?(实际值为value*2.55+0.5)}
      • “结构:使用全局光标记”为布尔型:{ID="uglg", type="bool", value=?}
      • “结构:光源角度”为单位值型: {id="lagl", type="UntF", unit="#Ang", value=?}
      • “结构:阴影位移距离”为单位值型: {id="Dstn", type="UntF", unit="#Pxl", value=?}
      • “结构:图层蒙版缩小(阻塞)”为单位值型: {id="Ckmt", type="UntF", unit="#Pxl", value=?}
      • “结构:阴影大小”为单位值型: {id="blur", type="UntF", unit="#Pxl", value=?}
      • “品质:向阴影添加杂色值”为单位值型: {id="Nose", type="UntF", unit="#Prc", value=?}
      • “品质:消除锯齿标记”为布尔型:{ID="AntA", type="bool", value=?}
      • “品质:等高线”为对象型(等高线对象同上): {id="TrnS ", type= 'Objc', name=".."(对象名称), classID='ShpC', count=?(属性数量), properties=[属性列表]}
    5. 外发光效果图层为对象型: {id="OrGl", type='Objc', name="..", classId="..", count=?(属性数量), properties[]=".."(属性列表)} 其属性对象格式分别为:
      • “启用效果标记”为布尔型:{ID="enab", type="bool", value=?}
      • “结构:混合模式类型”为枚举型(混合模式类型同上): {ID="Md ", type="enum", enumID="BlnM"(混合模式枚举类), enum=".."(混合模式类型)}
      • “结构:发光颜色”与“结构:天然颜色”相同,都是对象型(颜色对象同上):{id="Clr ", type= 'Objc',name=".."(颜色对象名), classID='RGBC',count=3(颜色数量,总是为3), properties=[颜色属性列表]}
      • “结构:渐变色信息”为对象型:{id="Grad ", type= 'Objc',name=".."(渐变色对象名), classID='Grdn',count=?(属性数量), properties=[属性列表]} 其属性对象格式分别为:
        • “渐变色名称”为文本型:{id="Nm ", type='TEXT', length=?, text=".."};
        • “自定义渐变”为枚举型:{ID="GrdF", type="enum", enumID="GrdF"(渐变枚举类), enum="CstS"(自定义渐变类型)}
        • “平滑度”为浮点型,{id="Intr", type="doub", value=?}
        • “渐变色标信息”为列表型对象: {id="Clrs ", type='VlLs', count=?(色标数量), objs=[色标列表]} 其色标对象为对象型,因为是列表型对象的属性,所以没有id:{type='Objc', name=".."(色标名), classID='Clrt', count=4(属性数量,总是为4), properties=[属性列表]}, 共有4个属性对象,分别为:
          • “颜色”为对象型(颜色对象同上):{id="Clr ", type= 'Objc',name=".."(颜色对象名), classID='RGBC',count=3(颜色数量,总是为3),properties=[颜色属性列表]}
          • “色标类型”为枚举型:{ID="Type", type="enum", enumID=".."(色标类型枚举类), enum=".."(色标类型)}, 色标类型包括'FrgC'(前景色)、'BckC'(背景色)、'UsrS'(用户颜色)
          • “位置”为整型,{id="Lctn", type="long", value=?}
          • “中间点”为整型,{id="Mdpn",type="long",value=?}
        • “不透明色标”为列表型对象:{id="Trns ", type='VlLs', count=?(不透明色标数量), objs=[不透明色标列表]}, 其不透明色标对象为对象型,因为是列表型对象的属性,所以没有id: {type='Objc', name=".."(不透明色标名), classID='TrnS',count=3(属性数量,总是为3), properties=[属性列表]}, 共有3个属性对象,分别为:
          • “不透明度”为单位值型:{id="Opct", type="UntF", unit="#Prc",value=?(实际值为value*2.55+0.5)}
          • “位置”为整型,{id="Lctn", type="long", value=?}
          • “中间点”为整型,{id="Mdpn", type="long", value=?}
      • “结构:不透明度”为单位值型: {id="Opct", type="UntF", unit="#Prc", value=?(实际值为value*2.55+0.5)}
      • “图素:柔化蒙版的方法”,为枚举型: {ID="GlwT", type="enum", enumID="BETE"(方法枚举类), enum=".."(方法类型)} 方法类型包括'SfBL'(柔和)、'PrBL'(精确)、'Slmt'(平滑)
      • “图素:图层蒙版扩展”为单位值型: {id="Ckmt", type="UntF", unit="#Pxl", value=?}
      • “图素:发光大小”为单位值型: {id="blur", type="UntF", unit="#Pxl", value=?}
      • “结构:杂色”为单位值型: {id="Nose", type="UntF", unit="#Prc", value=?}
      • “品质:抖动”为单位值型: {id="ShdN", type="UntF", unit="#Prc", value=?}
      • “品质:消除锯齿标记”为布尔型:{ID="AntA", type="bool", value=?}
      • “品质:等高线”为对象型(等高线对象同上): {id="TrnS ", type= 'Objc', name=".."(对象名称), classID='ShpC', count=?(属性数量), properties=[属性列表]}
      • “品质:范围”为单位值型: {id="Inpr", type="UntF", unit="#Prc", value=?}
    6. 内发光效果图层为对象型: {id="IrGl", type='Objc', name="..", classId="..", count=?(属性数量), properties[]=".."(属性列表)}
      • “启用效果标记”为布尔型:{ID="enab", type="bool", value=?}
      • “结构:混合模式类型”为枚举型(混合模式类型同上): {ID="Md ", type="enum",enumID="BlnM"(混合模式枚举类), enum=".."(混合模式类型)}
      • “结构:发光颜色”与“结构:天然颜色”相同,都是对象型(颜色对象同上) {id="Clr ", type= 'Objc',name=".."(颜色对象名), classID='RGBC', count=3(颜色数量,总是为3), properties=[颜色属性列表]}
      • “结构:渐变色信息”为对象型(渐变色对象同上): {id="Grad ", type= 'Objc',name=".."(渐变色对象名), classID='Grdn',count=?(属性数量), properties=[属性列表]}
      • “结构:不透明度”为单位值型: {id="Opct", type="UntF", unit="#Prc", value=?(实际值为value*2.55+0.5)}
      • “图素:柔化蒙版的方法”,为枚举型: {ID="GlwT", type="enum", enumID="BETE"(方法枚举类), enum=".."(方法类型)} 方法类型包括'SfBL'(柔和)、'PrBL'(精确)、'Slmt'(平滑)
      • “图素:图层蒙版缩小(阻塞)”为单位值型: {id="Ckmt", type="UntF", unit="#Pxl", value=?}
      • “图素:发光大小”为单位值型: {id="blur", type="UntF", unit="#Pxl", value=?}
      • “品质:抖动”为单位值型: {id="ShdN", type="UntF", unit="#Prc", value=?}
      • “结构:杂色”为单位值型: {id="Nose", type="UntF", unit="#Prc", value=?}
      • “品质:消除锯齿标记”为布尔型: {ID="AntA", type="bool", value=?}
      • “图素:光源类型标记”,为枚举型: {ID="glwS", type="enum", enumID="IGSr"(光源类型枚举类), enum=".."(光源类型)} 光源类型包括'SrcC'(从中心发光照亮)、'SrcE'(从边缘发光照亮)
      • “品质:等高线”为对象型(等高线对象同上): {id="TrnS ", type= 'Objc', name=".."(对象名称), classID='ShpC', count=?(属性数量), properties=[属性列表]}
      • “品质:范围”为单位值型: {id="Inpr", type="UntF", unit="#Prc", value=?}
    7. 斜面和浮雕效果图层为对象型: {id="ebbl", type='Objc', name="..", classId="..", count=?(属性数量), properties[]=".."(属性列表)}
      • “阴影:光泽等高线消除锯齿标记”为布尔型: {ID="antialiasGloss", type="bool", value=?}
      • “等高线:等高线启用标记”为布尔型: {ID="useShape", type="bool", value=?}
      • “纹理:纹理启用标记”为布尔型: {ID="useTexture",type="bool",value=?}
      • “纹理:深度”为单位值型: {id="textureDepth", type="UntF", unit="#Prc", value=?}
      • “纹理:方向”为对象型: {id="phase ", type= 'Objc', name=".."(方向对象名), classID='Pnt ', count=?(属性数量), properties=[属性列表]} 其方向属性对象为单位值型,格式分别为:
        • “水平方向”: {id="Hrzn", type="UntF", unit="#Prc", value=?}
        • “垂直方向”: {id="Vrtc", type="UntF", unit="#Prc", value=?}
      • “启用效果标记”为布尔型:{ID="enab", type="bool", value=?}
      • “阴影:高光模式”为枚举型(混合模式类型同上): {ID="hglM", type="enum", enumID="BlnM"(混合模式枚举类), enum=".."(混合模式类型)}
      • “阴影:高光颜色”与“阴影:真实高光颜色”相同,为对象型(颜色对象同上) {id="hglC", type= 'Objc', name=".."(颜色对象名), classID='RGBC', count=3(颜色数量,总是为3), properties=[颜色属性列表]}
      • “阴影:高光不透明度”为单位值型: {id="hglO", type="UntF", unit="#Prc", value=?(实际值为value*2.55+0.5)}
      • “阴影:阴影模式”为枚举型(混合模式类型同上): {ID="sdwM", type="enum", enumID="BlnM"(混合模式枚举类), enum=".."(混合模式类型)}
      • “阴影:阴影颜色”与“阴影:真实阴影颜色”相同,为对象型(颜色对象同上) {id="sdwC", type= 'Objc', name=".."(颜色对象名), classID='RGBC', count=3(颜色数量,总是为3), properties=[颜色属性列表]}
      • “阴影:阴影不透明度”为单位值型: {id="sdwO", type="UntF", unit="#Prc", value=?(实际值为value*2.55+0.5)}
      • “结构:斜面方法”,为枚举型: {ID="bvlT", type="enum", enumID="bvlT"(斜面方法枚举类), enum=".."(方法类型)} 方法类型包括'SfBL'(浮雕柔和)、'PrBL'(浮雕精确)、'Slmt'(平滑)
      • “结构:斜面和浮雕效果样式”,为枚举型: {ID="bvlS", type="enum", enumID="BESl"(斜面和浮雕效果样式枚举类), enum=".."(斜面和浮雕效果样式类型)} 斜面和浮雕效果样式类型包括'OtrB'(外斜面)、'InrB'(内斜面)、'Embs'(浮雕效果)、'PlEb'(枕状浮雕)、"strokeEmboss"(描边浮雕)
      • “阴影:使用全局光标记”为布尔型:{ID="uglg", type="bool", value=?}
      • “阴影:光源角度”为单位值型: {id="lagl", type="UntF", unit="#Ang", value=?}
      • “阴影:光源高度”为单位值型: {id="Lald", type="UntF", unit="#Ang", value=?}
      • “结构:深度”为单位值型: {id="srgR", type="UntF", unit="#Prc", value=?}
      • “结构:斜面大小”为单位值型: {id="blur", type="UntF", unit="#Pxl", value=?}
      • “结构:方向”,为枚举型: {ID="bvlD", type="enum", enumID="BESs"(方向枚举类), enum=".."(方向类型)} 方向类型包括'In'(向上)、'Out'(向下)
      • “阴影:光泽等高线”为对象型(等高线对象同上): {id="TrnS ", type= 'Objc', name=".."(对象名称), classID='ShpC', count=?(属性数量), properties=[属性列表]}
      • “结构:斜面柔和度(软化)”为单位值型: {id="Sftn", type="UntF", unit="#Pxl", value=?}
      • “等高线:等高线”为对象型(等高线对象同上): {id="MpgS", type= 'Objc', name=".."(对象名称), classID='ShpC', count=?(属性数量), properties=[属性列表]}
      • “等高线:消除锯齿标记”为布尔型: {ID="AntA", type="bool", value=?}
      • “等高线:范围”为单位值型: {id="Inpr", type="UntF", unit="#Prc", value=?}
      • “纹理:反相标记”为布尔型:{ID="InvT", type="bool", value=?}
      • “纹理:与图层链接标记”为布尔型: {ID="Algn", type="bool", value=?}
      • “纹理:缩放”为单位值型: {id="Scl ", type="UntF", unit="#Prc", value=?}
      • “纹理:图案信息”为对象型: {id="Ptrn", type= 'Objc', name=".."(对象名称), classID='Ptrn', count=?(属性数量), properties=[属性列表]} 其属性对象为: “图案名称”为文本型,{id="Nm ", type='TEXT', length=?, text=".."} “图案识别符”为文本型,{id="Idnt", type='TEXT', length=?, text=".."}
    8. 光泽效果图层为对象型: {id="ChFX", type='Objc', name="..", classId="..", count=?(属性数量), properties[]=".."(属性列表)}
      • “启用效果标记”为布尔型:{ID="enab", type="bool", value=?}
      • “结构:光泽效果样式”为枚举型(混合模式类型同上): {ID="Md ", type="enum", enumID="BlnM"(混合模式枚举类), enum=".."(混合模式类型)}
      • “结构:颜色”为对象型(颜色对象同上): {id="Clr ", type= 'Objc', name=".."(颜色对象名), classID='RGBC', count=3(颜色数量,总是为3), properties=[颜色属性列表]}
      • “结构:消除锯齿标记”为布尔型: {ID="AntA", type="bool", value=?}
      • “结构:反相标记”为布尔型:{ID="Invr", type="bool", value=?}
      • “结构:不透明度”为单位值型: {id="Opct", type="UntF", unit="#Prc", value=?(实际值为value*2.55+0.5)}
      • “结构:光源角度”为单位值型: {id="lagl", type="UntF", unit="#Ang", value=?}
      • “结构:位移距离”为单位值型: {id="Dstn", type="UntF", unit="#Pxl", value=?}
      • “结构:大小”为单位值型: {id="blur", type="UntF", unit="#Pxl", value=?}
      • “结构:等高线”为对象型(等高线对象同上): {id="MpgS", type= 'Objc', name=".."(对象名称), classID='ShpC', count=?(属性数量), properties=[属性列表]}
    9. 颜色叠加效果图层为对象型: {id="SoFi", type='Objc', name="..", classId="..", count=?(属性数量), properties[]=".."(属性列表)}
      • “启用效果标记”为布尔型:{ID="enab", type="bool", value=?}
      • “颜色:颜色叠加效果样式”为枚举型(混合模式类型同上): {ID="Md ", type="enum", enumID="BlnM"(混合模式枚举类), enum=".."(混合模式类型)}
      • “颜色:不透明度”为单位值型: {id="Opct", type="UntF", unit="#Prc", value=?(实际值为value*2.55+0.5)}
      • “颜色:发光颜色”与“颜色:天然颜色”相同,都是对象型(颜色对象同上) {id="Clr ", type= 'Objc', name=".."(颜色对象名), classID='RGBC', count=3(颜色数量,总是为3), properties=[颜色属性列表]
    10. 渐变叠加效果图层为对象型: {id="GrFl", type='Objc', name="..", classId="..", count=?(属性数量), properties[]=".."(属性列表)}
      • “启用效果标记”为布尔型:{ID="enab", type="bool", value=?}
      • “渐变:渐变叠加效果样式”为枚举型(混合模式类型同上): {ID="Md ", type="enum", enumID="BlnM"(混合模式枚举类), enum=".."(混合模式类型)}
      • “渐变:不透明度”为单位值型: {id="Opct", type="UntF", unit="#Prc", value=?(实际值为value*2.55+0.5)}
      • “渐变:渐变信息”为对象型(渐变色对象同上): {id="Grad ", type= 'Objc', name=".."(渐变色对象名), classID='Grdn', count=?(属性数量), properties=[属性列表]}
      • “渐变:渐变角度”为单位值型: {id="Angl", type="UntF", unit="#Ang", value=?}
      • “渐变:渐变样式”为枚举型: {ID="Type", type="enum", enumID="GrdT"(渐变枚举类), enum=".."(渐变类型)} 渐变类型包括:'Lnr '(线性渐变)、'Rdl '(径向渐变)、'Angl'(角度渐变)、'Rflc'(对称渐变)、'Dmnd'(菱形渐变)
      • “渐变:反相标记”为布尔型:{ID="Rvrs", type="bool", value=?}
      • “渐变:与图层对齐标记”为布尔型:{ID="Algn", type="bool", value=?}
      • “渐变:渐变大小(缩放)”为单位值型: {id="Scl ", type="UntF", unit="#Prc", value=?}
      • “渐变:方向”为对象型(方向对象同上): {id="Ofst", type= 'Objc', name=".."(对象名称), classID='Pnt ', count=?(属性数量), properties=[属性列表]}
    11. 图案叠加效果图层为对象型: {id="patternFill", type='Objc', name="..", classId="..", count=?(属性数量), properties[]=".."(属性列表)} 其属性对象格式分别为:
      • “图案:方向”为对象型(方向对象同上): {id="phase", type= 'Objc',name=".."(对象名称), classID='Pnt ', count=?(属性数量), properties=[属性列表]}
      • “启用效果标记”为布尔型:{ID="enab",type="bool",value=?}
      • “图案:图案叠加效果样式”为枚举型(混合模式类型同上): {ID="Md ", type="enum", enumID="BlnM"(混合模式枚举类), enum=".."(混合模式类型)}
      • “图案:不透明度”为单位值型: {id="Opct", type="UntF", unit="#Prc", value=?(实际值为value*2.55+0.5)}
      • “图案:图案信息”为对象型(图案对象同上): {id="Ptrn", type= 'Objc', name=".."(对象名称), classID='Ptrn', count=?(属性数量),properties=[属性列表]}
      • “图案:图案大小(缩放)”为单位值型: {id="Scl ", type="UntF", unit="#Prc", value=?}
      • “图案:与图层链接标记”为布尔型:{ID="Algn",type="bool",value=?}
    12. 描边效果图层为对象型: {id="FrFX", type='Objc', name="..", classId="..", count=?(属性数量), properties[]=".."(属性列表)}
      • “颜色类型-图案:方向”为对象型(方向对象同上): {id="phase", type= 'Objc', name=".."(对象名称), classID='Pnt ', count=?(属性数量), properties=[属性列表]}
      • “启用效果标记”为布尔型:{ID="enab", type="bool", value=?}
      • “结构:位置”为枚举型: {ID="Styl", type="enum", enumID="FStl"(位置枚举类), enum=".."(位置类型)} 位置类型包括:'OutF'(外部)、'InsF'(内部)、'CtrF'(居中)
      • “结构:颜色类型”为枚举型: {ID="PntT", type="enum", enumID="FrFl"(颜色类型枚举类), enum=".."(颜色类型)} 颜色类型包括:'SClr'(颜色)、'GrFl'(渐变)、'Ptrn'(图案)
      • “结构:描边效果样式”为枚举型(混合模式类型同上): {ID="Md ", type="enum", enumID="BlnM"(混合模式枚举类), enum=".."(混合模式类型)}
      • “结构:不透明度”为单位值型: {id="Opct", type="UntF", unit="#Prc", value=?(实际值为value*2.55+0.5)}
      • “结构:描边宽度(大小)”为单位值型: {id="Sz ", type="UntF", unit="#Pxl", value=?}
      • “颜色类型-颜色:颜色”为对象型(颜色对象同上): {id="Clr ", type= 'Objc', name=".."(颜色对象名), classID='RGBC', count=3(颜色数量,总是为3), properties=[颜色属性列表]
      • “颜色类型-渐变:渐变信息”为对象型(渐变色对象同上): {id="Grad ", type= 'Objc', name=".."(渐变色对象名), classID='Grdn', count=?(属性数量), properties=[属性列表]}
      • “颜色类型-渐变:渐变角度”为单位值型: {id="Angl", type="UntF", unit="#Ang", value=?}
      • “颜色类型-渐变:渐变样式”为枚举型: {ID="Type", type="enum", enumID="GrdT"(渐变枚举类), enum=".."(渐变类型)} 渐变类型包括:'Lnr '(线性渐变)、'Rdl '(径向渐变)、'Angl'(角度渐变)、'Rflc'(对称渐变)、'Dmnd'(菱形渐变)
      • “颜色类型-渐变:反相标记”为布尔型: {ID="Rvrs", type="bool", value=?}
      • “颜色类型-渐变:渐变大小(缩放)”或“颜色类型-图案:图案大小(缩放)”为单位值型: {id="Scl ", type="UntF", unit="#Prc", value=?}
      • “颜色类型-渐变:与图层对齐标记”为布尔型: {ID="Algn", type="bool", value=?}
      • “颜色类型-渐变:方向”为对象型(方向对象同上): {id="Ofst", type= 'Objc', name=".."(对象名称), classID='Pnt ', count=?(属性数量), properties=[属性列表]}
      • “颜色类型-图案:图案信息”为对象型(图案对象同上): {id="Ptrn", type= 'Objc', name=".."(对象名称), classID='Ptrn', count=?(属性数量), properties=[属性列表]}
      • “颜色类型-图案:与图层链接标记”为布尔型: {ID="Lnkd", type="bool", value=?}

15. 文本图层,标签为:' tySh' (Photoshop 5.0或Photoshop 5.5)。

  1. 2字节(short):版本号,总是为1
  2. 6 * 8字节(double):6个文字变形信息
  3. 2字节(short):字体信息版本号,总是为6
  4. 2字节(short):字体数量
  5. 字体信息列表,数据格式为:
    • 2字节(short):字体ID
    • 4字节(int):字体类型
    • 1字节(byte):字体名称长度
    • 1字节(char)* 字体名称长度:字体名称
    • 1字节(byte):字体族名称长度
    • 1字节(char)* 字体族名称长度:字体族名称
    • 1字节(byte):字体样式名称长度
    • 1字节(char)* 字体样式名称长度:字体样式名称
    • 2字节(short):字体脚本ID
    • 4字节(int):矢量字体点数量
    • 4字节(int)* 矢量字体点数量:矢量字体点值
  6. 2字节(short):文字效果数量
  7. 文字效果信息列表,数据格式为:
    • 2字节(short):文字效果ID
    • 2字节(short):对应字体ID
    • 4字节(int):字体大小
    • 4字节(int):字距调整值
    • 4字节(int):字距微调值
    • 4字节(int):行距
    • 4字节(int):基线值
    • 1字节(bool):自动字距微调标记
    • 1字节(bool):旋转标记
  8. 2字节(short):文本类型
  9. 4字节(int):缩放参数
  10. 4字节(int):特征点数量
  11. 4字节(int):水平坐标
  12. 4字节(int):垂直坐标
  13. 4字节(int):选中文本起点
  14. 4字节(int):选中文本终点
  15. 2字节(short):行数
  16. 行信息列表,数据格式为:
    • 4字节(int):每行字符数
    • 2字节(short):文本方向
    • 2字节(short):文本对齐方式
    • 字符信息列表,数据格式为:
      • 2字节(wchar_t):Unicode字符
      • 2字节(short):对应字体效果ID
  17. 10字节:文字颜色(2字节(颜色空间) + 4 * 2字节(颜色值))
  18. 1字节(bool):消除锯齿标记

16. 文本图层,标签为:'TySh' ,对象格式(Photoshop 6.0以上)(略)

17. 纯色填充图层,标签为:'SoCo' ,对象格式 (Photoshop 6.0以上)

  1. 4字节(int):对象解析版本号,总是为16
  2. 名称长度(4字节)+ 2字节 * 名称长度:填充图层Unicode名称
  3. ID长度(4字节)+ 1字节 * ID长度:填充图层类ID,如果ID长度为0,则表示ID长度为4
  4. 4字节(int):属性对象数量,总是为1
  5. 只有一个颜色属性对象,对象型,对象格式为: {id="Clr ", type= 'Objc', name=".."(颜色对象名(Name)), classID='RGBC', count=3(颜色数量,总是为3), properties=..}

18. 渐变填充图层,标签为:'GdFl' ,对象格式 (Photoshop 6.0以上)

  1. 4字节(int):对象解析版本号,总是为16
  2. 名称长度(4字节)+ 2字节 * 名称长度:填充图层Unicode名称
  3. ID长度(4字节)+ 1字节 * ID长度:填充图层类ID,如果ID长度为0,则表示ID长度为4
  4. 4字节(int):属性对象数量
  5. 属性对象列表,对象格式如下:
    • “仿色标记”为布尔型:{ID="Dthr", type="bool", value=?}
    • “反相标记”为布尔型:{ID="Rvrs", type="bool", value=?}
    • “与图层对齐标记”为布尔型:{ID = "Algn", type = "bool", value = ? }
    • “渐变角度”为单位值型:{id="Angl", type="UntF", unit="#Ang", value=?}
    • “渐变大小(缩放)”为单位值型: {id="Scl ", type="UntF", unit="#Prc", value=?}
    • “渐变样式”为枚举型: {ID="Type", type="enum", enumID="GrdT"(渐变枚举类), enum=".."(渐变类型)} 渐变类型:'Lnr '(线性渐变)、'Rdl '(径向渐变)、'Angl'(角度渐变)、'Rflc'(对称渐变)、'Dmnd'(菱形渐变)
    • “渐变:渐变信息”为对象型(渐变色对象同上) id="Grad ", type= 'Objc', name=".."(渐变色对象名), classID='Grdn', count=?(属性数量), properties=..}

19. 图案填充图层,标签为:' PtFl ' ,对象格式 (Photoshop 6.0以上)

  1. 4字节(int):对象解析版本号,总是为16
  2. 名称长度(4字节)+ 2字节 * 名称长度:填充图层Unicode名称
  3. ID长度(4字节)+ 1字节 * ID长度:填充图层类ID,如果ID长度为0,则表示ID长度为4
  4. 4字节(int):属性对象数量
  5. 属性对象列表,对象格式如下:
  6. “图案大小(缩放)”为单位值型: {id="Scl ", type="UntF", unit="#Prc", value=?}
  7. “图案信息”为对象型(图案对象同上): {id="Ptrn", type= 'Objc', name=".."(对象名称), classID='Ptrn', count=?(属性数量), properties=..}

20.图层名称源设置,标签为:'lnsr' (Photoshop 6.0)

  1. 4字节: 图层名称的ID

21. 图层ID,标签为:'lyid' (Photoshop 5.0以上)

  1. 4字节(int):图层ID

22. 图层剪贴混合标记,标签为:'clbl' (Photoshop 6.0以上)

  1. 1字节(bool):图层剪贴混合标记
  2. 3字节:保留

23. 图层内部混合标记,标签为:'infx' (Photoshop 6.0以上)

  1. 1字节(bool):图层剪贴混合标记
  2. 3字节:保留

24. 锁定全部标记,标签为:'knko' (Photoshop 6.0以上)

  1. 1字节(bool):锁定全部标记
  2. 3字节:保留

25. 保护设置标记,标签为:'lspf ' (Photoshop 6.0以上)

  1. 4字节(int):保护设置标记,保护设置标记 ,Photoshop 6.0使用了0-2位,分别为:
  2. 0位:锁定透明图像像素标记
  3. 1位:锁定图像像素标记
  4. 2位:锁定位置标记

26. 图层注释颜色,标签为:'lclr' (Photoshop 6.0以上)

  1. 4 * 1字节(byte):读取图层注释颜色,依次为R、G、B、A
  2. 4字节:保留

27. 图层参考点设置,标签为:'fxrp' (Photoshop 6.0以上)

  1. 8字节(double):图层参考点X
  2. 8字节(double):图层参考点Y

28. 图层版本号,标签为:'lyvr' (Photoshop 7.0以上)

  1. 4字节(int):图层版本号

29. 透明形状图层标记,标签为:'tsly' (Photoshop 7.0以上)

  1. 1字节(bool):透明形状图层标记
  2. 3字节:保留

30. 图层蒙版隐藏效果标记,标签为:'lmgm' (Photoshop 7.0以上)

  1. 1字节(bool):图层蒙版隐藏效果标记
  2. 3字节:保留

31. 矢量蒙版隐藏效果标记,标签为:'vmgm' (Photoshop 7.0以上)

  1. 1字节(bool):矢量蒙版隐藏效果标记
  2. 3字节:保留

32. 图层填充不透明度,标签为:'iOpa'

  1. 1字节(byte):图层填充不透明度(0-255)
  2. 3字节:保留

33. 图层类型,标签为:'lsct',(Photoshop 6.0以上)

  1. 4字节(int):图层类型,0为普通图层、1为展开的图层组,2为关闭的图层组,3为图层分割线(隐藏图层) 如果数据长度为12,表示有图层分割混合模式设置
  2. 4字节(char):签名,总是为'8BIM'
  3. 4字节(char):图层分割混合模式类型(同上,注:不是对象的混合模式)

34. 禁用图层通道设置,标签为:'brst',(Photoshop 6.0以上),

数据为禁用图层通道ID列表,禁用的图层通道数量可以通过 数据长度/4 获得,数据格式为:

  1. 4字节(int):被禁用的图层通道ID

35. 矢量图层蒙版,标签为:'vmsk',(Photoshop 6.0以上)

  1. 4字节(int):版本号,总是为3
  2. 4字节(int):状态标记,0位为反转选区标记,1位为不链接标记, 位2为禁用标记
  3. 路径列表,其数据长度为 数据长度-8,数据格式同(ID 2000-2998:路径资源)

36. Unicode层名称 luni (Photoshop 5.0)

  1. unicodeSize: 一个4字节长度的字段,表示字符串中UTF-16代码单元的数量(而不是字节)。
  2. unicodeSize * 2: Unicode值的字符串,每个字符两个字节
  3. 字符串末尾有一个两字节的null。

37. 元数据设置 shmd(Photoshop 6.0)

  1. 4字节: 元数据的个数, 以下重复。
    • 4字节: 数据签名
    • 4字节:key
    • 1字节:Copy on sheet duplication(还不晓得是啥)
    • 3字节:Padding(还不晓得是啥)
    • 4字节:以下数据的长度
    • 可变:Undocumented data(还不晓得是啥)

38. 矢量笔划内容 vscg

  1. 4字节: Key。
  2. 4字节:version版本,总为16
  3. 4字节长度 + 2 * 长度:name: unicode字符串
  4. 4字节长度 + 1 * 长度: classid
  5. 4字节:number数量
  6. 以下循环number
    • id
    • 根据id类型解析

39. 矢量遮罩设置 vsms

  1. 路径资源格式(Path resource format):

Photoshop 将与图像一起保存的路径存储在图像资源块中。这些资源块由一系列 26 字节的路径点记录组成,因此资源长度应始终为 26 的倍数。

Photoshop 将其路径存储为 8BIM 类型的资源,ID 范围为 2000 到 2997。这些数字应保留给 Photoshop。资源的名称是保存时为路径指定的名称。

如果文件包含 ID 为 2999 的 8BIM 类型资源,则该资源包含 Pascal 样式字符串,其中包含将该图像保存为 EPS 文件时要与该图像一起使用的剪切路径的名称。 4 字节固定值平坦度和 2 字节填充规则。 0 = 相同填充规则,1 = 偶奇填充规则,2 = 非零缠绕填充规则。 Photoshop 会忽略填充规则。

GetProperty() 调用返回的路径格式与下面描述的相同。请参阅 IllustratorExport 示例插件代码以了解如何构造此资源数据。

  1. 路径点(Path points):

定义路径中使用的所有点都以八个字节的形式存储,作为一对32位组件,首先是垂直组件。

这两个组件是带有二进制点之前的8位和二进制点之后的24位的有符号定点数。在点数中保留了三个保护位,以消除大多数关于算术溢出的担忧。因此,每个组件的范围是从0xF0000000到0x0FFFFFFF,表示从-16到16的范围。下限包括在内,但上限不包括在内。

使用这个有限的范围是因为这些点是相对于图像大小表示的。垂直分量是相对于图像高度给出的,而水平分量是相对于图像宽度给出的。[0,0]表示图像的左上角;[1,1]([0x01000000,0x01000000])表示右下角。

在Windows中,路径点组件的字节顺序是相反的;您应该在访问每个 32 位值时交换字节。

  1. 路径记录(Path records):

路径资源中的数据由一个或多个26字节记录组成。每条记录的前两个字节是一个选择器,指示它是哪种路径。对于 Windows,您应该在将其作为短数据访问之前交换字节

路径数据记录类型

|选择器|描述| |-|-| |0|闭合子路径长度记录| |1|闭合子路径贝塞尔结点,链接| |2|闭合子路径贝塞尔结点,未连接| |3|开放子路径长度记录| |4|开放子路径贝塞尔结点,已连接| |5|开放子路径贝塞尔结点,未连接| |6|路径填充规则记录| |7|剪贴板记录| |8|初始填充规则记录|

第一个26字节的路径记录包含一个选择器值为6,路径填充规则记录。第一个记录的其余24字节为零。路径使用奇偶规则。子路径长度记录,选择器值为0或3,包含字节2和3中的贝塞尔结点记录的数量。其余的22字节未使用,应该是零。然后,每个长度记录后面紧跟着描述子路径结点的贝塞尔结点记录。

在贝塞尔结点记录中,跟随选择器字段的24字节包含三个路径点(如上所述),分别为:

  • Bezier结点之前的贝塞尔段的控制点
  • 结点的锚点
  • Bezier段离开结点的控制点

链接的结点具有链接的控制点。编辑一个点会修改另一个点,以保持共线性。只有在结点的控制点与锚点共线时,才应将结点标记为具有链接的控制点。未链接结点上的控制点是彼此独立的。有关更多信息,请参考Adobe Photoshop用户指南。

剪贴板记录,选择器=7,包含四个固定点数,分别表示边界矩形(上、左、下、右),以及一个表示分辨率的固定点数。

初始填充记录,选择器=8,包含一个两字节的记录。值为1表示填充从所有像素开始。该值将为0或1。

字节表示:

  1. 4字节: Version 版本(对于 Photoshop 6.0 = 3)。
  2. 4字节: 标志. 第1位 = invert, 第2位 = not link, 第3位 = disable

其余数据是路径分量,一直循环直到长度结束。

40 PlLd / SoLd 放置图层(在 Photoshop CS3 中被 SoLd 取代)

  1. 4字节: 类型type(=PlLd)
  2. 4字节(int):版本号,总是为3
  3. ID长度(4字节)+ 1字节 * ID长度:ID
  4. 4字节:页码
  5. 4字节:总页数
  6. 4字节:抗锯齿策略
  7. 4字节:放置图层类型:0 = 未知,1 = 矢量,2 = 光栅,3 = 图像堆栈
  8. 8 * 8字节:变换:8个双精度数表示变换点的x、y位置,总共4个点,每个点的表示为x,y坐标,每个数值是8为的double类型数值。
  9. 4字节:变形版本(= 0)
  10. 4字节:变形描述符版本(= 16)
  11. 剩下的字节:变形信息的描述符

41 sn2P 使用对齐渲染

  1. 4字节: 非零表示使用对齐渲染。