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'
- 2字节(short):版本号,总是为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
- 4字节(char):色阶附加信息签名,总是为 'Lvls'(PhotoShop 8.0以上)
- 2字节(short):色阶附加信息版本,总是为3
- 2字节(short):色阶信息总数量,其中附加色阶信息数量为 色阶信息总数量-29
- 各个颜色通道附加色阶信息,数据格式如下:
- 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字节(byte):保留
- 2字节(short):版本号,等于1或4
- 4字节(int):曲线通道启用标签,标签共32位,如果该位值为1表示该通道曲线调整图层启用,曲线数量即32位中值为1的位数
- 各通道曲线信息,数据格式如下:
- 2字节(short):曲线通道中设置点的数量 (2-19)
- 曲线通道中各设置点的信息,数据格式如下:
- 2字节(short):曲线通道输出点强度(0-255)
- 2字节(short):曲线通道输入点强度(0-255)
- 4字节(char):曲线附加信息签名,总是为 'Crv '(PhotoShop 8.0以上),曲线附加信息事实上与上面基本重复
- 2字节(short):曲线附加信息版本,总是为4
- 4字节(int):曲线通道数量
- 各通道曲线附加信息,数据格式如下:
- 2字节(short):曲线通道索引号
- 2字节(short):曲线通道中设置点的数量 (2-19)
- 曲线通道中各设置点的信息,数据格式如下:
- 2字节(short):曲线通道输出点强度(0-255)
- 2字节(short):曲线通道输入点强度(0-255)
3. 亮度/对比度调整图层,标签为:'brit'
- 2字节(short):亮度
- 2字节(short):对比度
- 2字节(short):亮度/对比度平均值
- 1字节(byte):Lab颜色模式
4. 色彩平衡调整图层,标签为:' blnc '
- 2字节(short):R或C通道阴影设置信息(-100..100)
- 2字节(short):G或M通道阴影设置信息(-100..100)
- 2字节(short):B或Y通道阴影设置信息(-100..100)
- 2字节(short):R或C通道中间调设置信息(-100..100)
- 2字节(short):G或M通道中间调设置信息(-100..100)
- 2字节(short):B或Y通道中间调设置信息(-100..100)
- 2字节(short):R或C通道高光设置信息(-100..100)
- 2字节(short):G或M通道高光设置信息(-100..100)
- 2字节(short):B或Y通道高光设置信息(-100..100)
- 2字节(short):保持明度标记
5. 色相/饱和度调整图层,标签为:' hue2'
- 2字节(short):版本号,总是为2
- 1字节(bool):着色标记
- 1字节(byte):保留
- 2字节(short):色相(Photoshop 5.0以上范围为-180...180,Photoshop 4.0范围为–100...100)
- 2字节(short):饱和度(Photoshop 5.0以上范围为0...100,Photoshop 4.0范围为–100...100)
- 2字节(short):明度(-100...100)
- 2字节(short):主色相
- 2字节(short):主饱和度
- 2字节(short):主明度
- 各颜色通道的色相/饱和度设置,共6个颜色通道,依次为红、黄、绿、青、蓝、洋红,数据结构如下:
- 2字节(short):颜色范围-左
- 2字节(short):颜色范围-左中
- 2字节(short):颜色范围-右
- 2字节(short):颜色范围-右中
- 2字节(short):色相
- 2字节(short):饱和度
- 2字节(short):明度
6. 可选颜色调整图层,标签为:' selc’
- 2字节(short):版本号,总是为1
- 2字节(short):校正方式,0为相对,1为绝对
- 各颜色通道修正信息,共10个颜色通道,依次为保留通道(总是为0)、红、黄、绿、青、蓝、洋红、白、中性色、黑。数据格式为:
- 2字节(short):青色修正量
- 2字节(short):洋红修正量
- 2字节(short):黄色修正量
- 2字节(short):黑色修正量
7. 阈值调整图层,标签为:' thrs’
- 2字节(short):阈值色阶(1...255)
- 2字节(short):保留
8. 反相调整图层,标签为:' nvrt’,该图层没有要设置的参数
9. 色调分离调整图层,标签为:' post’
- 2字节(short):色阶(2...255)
- 2字节(short):保留
10. 通道混合器调整图层,标签为:' mixr’
- 2字节(short):版本号,总是为1
- 2字节(short):单色标记
- 各颜色通道混合参数,共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’
- 2字节(short):版本号,总是为1(Photoshop 6.0以上)
- 1字节(bool):反相标记
- 1字节(bool):仿色标记
- 4字节(int):渐变名称长度
- 2字节 * 渐变名称长度:渐变名称(Unicode字符串)
- 2字节(short):渐变色标数量
- 渐变色标信息列表,数据结构如下:
- 4字节(int):色标位置
- 4字节(int):色标中点位置
- 2字节(short):色标颜色空间类型
- 4 * 2字节(short):颜色空间中的色标颜色值
- 2字节:保留
- 2字节(short):不透明度色标数量
- 不透明度色标信息列表,数据结构如下:
- 4字节(int):不透明度色标位置
- 4字节(int):不透明度色标中点位置
- 2字节(short):不透明度色标不透明度
- 2字节(short):扩展数据数量,总是为2(Photoshop 6.0以上)
- 2字节(short):渐变类型,0为实底,1为杂色
- 2字节(short):渐变模式、
- 4字节(int):随机数种子
- 2字节(short):增加透明度标记
- 2字节(short):限制颜色标记、
- 4字节(int):粗糙度
- 2字节(short):颜色模型类型,是一个颜色空间类型值
- 4 * 2字节(short):颜色模型最小颜色值(ARGB值)
- 4 * 2字节(short):颜色模型最大颜色值(ARGB值)
- 2字节:保留
12. 照片滤镜调整图层,标签为:' phfl’
版本为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’
- 2字节(short):版本号,总是为 0
- 2字节(short):效果数量
- 效果数据列表:
- 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
- Unicode名称(下面缩写为(Name))数据格式为:字符串长度(4字节)+ 2字节 * 字符串长度
- ID(下面缩写为(ID))数据格式为:ID长度(4字节)+ 1字节 * ID长度,如果ID长度为0或小于4,则表示ID长度为4
基础对象数据格式有:
- 布尔型对象:
{
id="?", // 对象ID,用于说明对应的photoshop属性(ID)
type='bool', // 对象类型(char),总是为'bool',4字节
value=? // 值(bool),1字节
}
- 整型对象:
{
id="?", // 对象ID,用于说明对应的photoshop属性(ID)
type='long', // 对象类型(char),总是为'long',4字节
value=? // 值(int),4字节
}
- 浮点型对象:
{
id="?", // 对象ID,用于说明对应的photoshop属性(ID)
type='doub', // 对象类型(char),总是为'doub',4字节
value=? // 值(double),8字节
}
- Unicode文本型对象:
{
id="?", // 对象ID,用于说明对应的photoshop属性(ID)
type='TEXT', // 对象类型(char),总是为'TEXT',4字节
length=? // 文本长度(int),4字节
text=".." // 文本字符串,2字节*文本长度
}
- 单位值型对象:
{
id="?", // 对象ID,用于说明对应的photoshop属性(ID)
type='UntF', // 对象类型(char),总是为'UntF',4字节
unit='..' // 单位标签(char),4字节. #Ang(角度:基本度数), #Rsl(密度:每英寸为基本单位), #Rlt(距离:基于72ppi), #Nne(无), #Prc(百分比:单位值), #Pxl(像素:标记的单位值)
value=0.0 // 值(double),8字节
}
- 枚举型对象:其值指向枚举对象的某一个值
{
id="?", // 对象ID,用于说明对应的photoshop属性(ID)
type='enum', // 对象类型(char),总是为'enum',4字节
enumId=".." // 枚举类ID(ID),
enum=".." // 枚举ID(ID)
}
- 数据型对象:
{
id="?", // 对象ID,用于说明对应的photoshop属性(ID)
type='alis', // 对象类型(char),总是为'alis',4字节
length=?, // 数据长度(int),4字节
data=".." // 数据,1字节*数据长度
}
- 类和全局类对象:
{
id="?", // 对象ID,用于说明对应的photoshop属性(ID)
type='type', // 对象类型(char),'type'为类,'GlbC'为全局类,4字节
name=".." // 类名(Name)
classID=".." // 类id(ID)
}
- 对象型对象: 对象型对象的属性对象即各种Photoshop的基础对象
{
id="?", // 对象ID,用于说明对应的photoshop属性(ID)
type='Objc', // 对象类型(char),'Objc'为类,'GlbO'为全局类,4字节
name="..", // 对象名(Name)
classID='..', // 类ID(ID)
count=?, // 属性对象数量(int),4字节
properties=[..] // 属性对象列表
}
- 列表型对象: 列表型对象的对象列表中的对象为各种没有id的Photoshop的基础对象
{
id="?", // 对象ID,用于说明对应的photoshop属性(ID)
type='VlLs', // 对象类型(char),总是为'VlLs',4字节
count=? // 对象列表中的对象数量(int),4字节
objs=[..] // 对象列表
}
- 引用型对象:
{
id = "?", // 对象ID,用于说明对应的photoshop属性(ID)
Type = 'obj ', // 对象类型(char),总是为'obj ',4字节
Count = "?", // 属性对象数量(int),4字节
Properties = [..] // 属性对象列表
}
引用型对象的属性对象是一个没有id的对象,包括以下类型:
- Property对象:
{
type='prop', // 对象类型(char),总是为'prop',4字节
name="..", // 属性名(Name)
classID="..", // 类id(ID)
keyId=".." // Key ID(ID)
}
- 类:
{
type='Clss', // 对象类型(char),总是为'Clss',4字节
name="..", // 属性名(Name)
classID=".." // 类id(ID)
}
- 值来自枚举ID的枚举型属性对象:
{
type='Enmr', // 对象类型(char),总是为'Enmr',4字节
name="..", // 属性名(Name),
classID="..", // 类id(ID),
typeId="..", // 枚举类型ID(ID),
enum=".." // 枚举ID(ID)
}
- 有值的普通属性对象
{
type='rele', // 对象类型(char),总是为'rele',4字节
name="..", // 属性名(Name)
classID="..", // (类id(ID)
value=? // 值(int)(4字节)
}
- 索引号属性对象
{
type='Idnt', // 对象类型(char),总是为'Idnt',4字节
value=? // 索引号(int)(4字节)
}
- 序号属性对象:
{
type='indx', // 对象类型(char),总是为'indx',4字节
value=? // 序号(int)(4字节)
}
- Unicode名称对象
{
type='name', // 对象类型(char),总是为'name',4字节
name=".." // 名称(Name)
}
常用对象数据:
-
颜色对象: {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="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的数据格式:
- 4字节(int):效果图层版本号,总是为0
- 4字节(int):对象解析版本号,总是为16
- 名称长度(4字节)+ 2字节 * 名称长度:效果图层Unicode类名
- ID长度(4字节)+ 1字节 * ID长度:效果图层类ID,如果ID长度为0,则表示ID长度为4
- 效果图层对象列表,效果图层对象的对象格式分别为:
- 显示效果图层标记为布尔型: {id="masterFXSwitch", type='bool', value=?}
- 缩放效果图层(未使用)为单位值型: {id="Scl ", type='UntF', unitID='#Prc', value=?}
- 投影效果图层为对象型: {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=..}, 其属性对象格式为:
-
- “等高线名称”为文本型: {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=?}
- 内阴影效果图层为对象型: {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=[属性列表]}
- 外发光效果图层为对象型: {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=?}
- 内发光效果图层为对象型: {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=?}
- 斜面和浮雕效果图层为对象型: {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=".."}
- 光泽效果图层为对象型: {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=[属性列表]}
- 颜色叠加效果图层为对象型: {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=[颜色属性列表]
- 渐变叠加效果图层为对象型: {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=[属性列表]}
- 图案叠加效果图层为对象型: {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=?}
- 描边效果图层为对象型: {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)。
- 2字节(short):版本号,总是为1
- 6 * 8字节(double):6个文字变形信息
- 2字节(short):字体信息版本号,总是为6
- 2字节(short):字体数量
- 字体信息列表,数据格式为:
- 2字节(short):字体ID
- 4字节(int):字体类型
- 1字节(byte):字体名称长度
- 1字节(char)* 字体名称长度:字体名称
- 1字节(byte):字体族名称长度
- 1字节(char)* 字体族名称长度:字体族名称
- 1字节(byte):字体样式名称长度
- 1字节(char)* 字体样式名称长度:字体样式名称
- 2字节(short):字体脚本ID
- 4字节(int):矢量字体点数量
- 4字节(int)* 矢量字体点数量:矢量字体点值
- 2字节(short):文字效果数量
- 文字效果信息列表,数据格式为:
- 2字节(short):文字效果ID
- 2字节(short):对应字体ID
- 4字节(int):字体大小
- 4字节(int):字距调整值
- 4字节(int):字距微调值
- 4字节(int):行距
- 4字节(int):基线值
- 1字节(bool):自动字距微调标记
- 1字节(bool):旋转标记
- 2字节(short):文本类型
- 4字节(int):缩放参数
- 4字节(int):特征点数量
- 4字节(int):水平坐标
- 4字节(int):垂直坐标
- 4字节(int):选中文本起点
- 4字节(int):选中文本终点
- 2字节(short):行数
- 行信息列表,数据格式为:
- 4字节(int):每行字符数
- 2字节(short):文本方向
- 2字节(short):文本对齐方式
- 字符信息列表,数据格式为:
- 2字节(wchar_t):Unicode字符
- 2字节(short):对应字体效果ID
- 10字节:文字颜色(2字节(颜色空间) + 4 * 2字节(颜色值))
- 1字节(bool):消除锯齿标记
16. 文本图层,标签为:'TySh' ,对象格式(Photoshop 6.0以上)(略)
17. 纯色填充图层,标签为:'SoCo' ,对象格式 (Photoshop 6.0以上)
- 4字节(int):对象解析版本号,总是为16
- 名称长度(4字节)+ 2字节 * 名称长度:填充图层Unicode名称
- ID长度(4字节)+ 1字节 * ID长度:填充图层类ID,如果ID长度为0,则表示ID长度为4
- 4字节(int):属性对象数量,总是为1
- 只有一个颜色属性对象,对象型,对象格式为: {id="Clr ", type= 'Objc', name=".."(颜色对象名(Name)), classID='RGBC', count=3(颜色数量,总是为3), properties=..}
18. 渐变填充图层,标签为:'GdFl' ,对象格式 (Photoshop 6.0以上)
- 4字节(int):对象解析版本号,总是为16
- 名称长度(4字节)+ 2字节 * 名称长度:填充图层Unicode名称
- ID长度(4字节)+ 1字节 * ID长度:填充图层类ID,如果ID长度为0,则表示ID长度为4
- 4字节(int):属性对象数量
- 属性对象列表,对象格式如下:
- “仿色标记”为布尔型:{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以上)
- 4字节(int):对象解析版本号,总是为16
- 名称长度(4字节)+ 2字节 * 名称长度:填充图层Unicode名称
- ID长度(4字节)+ 1字节 * ID长度:填充图层类ID,如果ID长度为0,则表示ID长度为4
- 4字节(int):属性对象数量
- 属性对象列表,对象格式如下:
- “图案大小(缩放)”为单位值型: {id="Scl ", type="UntF", unit="#Prc", value=?}
- “图案信息”为对象型(图案对象同上): {id="Ptrn", type= 'Objc', name=".."(对象名称), classID='Ptrn', count=?(属性数量), properties=..}
20.图层名称源设置,标签为:'lnsr' (Photoshop 6.0)
- 4字节: 图层名称的ID
21. 图层ID,标签为:'lyid' (Photoshop 5.0以上)
- 4字节(int):图层ID
22. 图层剪贴混合标记,标签为:'clbl' (Photoshop 6.0以上)
- 1字节(bool):图层剪贴混合标记
- 3字节:保留
23. 图层内部混合标记,标签为:'infx' (Photoshop 6.0以上)
- 1字节(bool):图层剪贴混合标记
- 3字节:保留
24. 锁定全部标记,标签为:'knko' (Photoshop 6.0以上)
- 1字节(bool):锁定全部标记
- 3字节:保留
25. 保护设置标记,标签为:'lspf ' (Photoshop 6.0以上)
- 4字节(int):保护设置标记,保护设置标记 ,Photoshop 6.0使用了0-2位,分别为:
- 0位:锁定透明图像像素标记
- 1位:锁定图像像素标记
- 2位:锁定位置标记
26. 图层注释颜色,标签为:'lclr' (Photoshop 6.0以上)
- 4 * 1字节(byte):读取图层注释颜色,依次为R、G、B、A
- 4字节:保留
27. 图层参考点设置,标签为:'fxrp' (Photoshop 6.0以上)
- 8字节(double):图层参考点X
- 8字节(double):图层参考点Y
28. 图层版本号,标签为:'lyvr' (Photoshop 7.0以上)
- 4字节(int):图层版本号
29. 透明形状图层标记,标签为:'tsly' (Photoshop 7.0以上)
- 1字节(bool):透明形状图层标记
- 3字节:保留
30. 图层蒙版隐藏效果标记,标签为:'lmgm' (Photoshop 7.0以上)
- 1字节(bool):图层蒙版隐藏效果标记
- 3字节:保留
31. 矢量蒙版隐藏效果标记,标签为:'vmgm' (Photoshop 7.0以上)
- 1字节(bool):矢量蒙版隐藏效果标记
- 3字节:保留
32. 图层填充不透明度,标签为:'iOpa'
- 1字节(byte):图层填充不透明度(0-255)
- 3字节:保留
33. 图层类型,标签为:'lsct',(Photoshop 6.0以上)
- 4字节(int):图层类型,0为普通图层、1为展开的图层组,2为关闭的图层组,3为图层分割线(隐藏图层) 如果数据长度为12,表示有图层分割混合模式设置
- 4字节(char):签名,总是为'8BIM'
- 4字节(char):图层分割混合模式类型(同上,注:不是对象的混合模式)
34. 禁用图层通道设置,标签为:'brst',(Photoshop 6.0以上),
数据为禁用图层通道ID列表,禁用的图层通道数量可以通过 数据长度/4 获得,数据格式为:
- 4字节(int):被禁用的图层通道ID
35. 矢量图层蒙版,标签为:'vmsk',(Photoshop 6.0以上)
- 4字节(int):版本号,总是为3
- 4字节(int):状态标记,0位为反转选区标记,1位为不链接标记, 位2为禁用标记
- 路径列表,其数据长度为 数据长度-8,数据格式同(ID 2000-2998:路径资源)
36. Unicode层名称 luni (Photoshop 5.0)
- unicodeSize: 一个4字节长度的字段,表示字符串中UTF-16代码单元的数量(而不是字节)。
- unicodeSize * 2: Unicode值的字符串,每个字符两个字节
- 字符串末尾有一个两字节的null。
37. 元数据设置 shmd(Photoshop 6.0)
- 4字节: 元数据的个数, 以下重复。
- 4字节: 数据签名
- 4字节:key
- 1字节:Copy on sheet duplication(还不晓得是啥)
- 3字节:Padding(还不晓得是啥)
- 4字节:以下数据的长度
- 可变:Undocumented data(还不晓得是啥)
38. 矢量笔划内容 vscg
- 4字节: Key。
- 4字节:version版本,总为16
- 4字节长度 + 2 * 长度:name: unicode字符串
- 4字节长度 + 1 * 长度: classid
- 4字节:number数量
- 以下循环number
39. 矢量遮罩设置 vsms
- 路径资源格式(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 示例插件代码以了解如何构造此资源数据。
- 路径点(Path points):
定义路径中使用的所有点都以八个字节的形式存储,作为一对32位组件,首先是垂直组件。
这两个组件是带有二进制点之前的8位和二进制点之后的24位的有符号定点数。在点数中保留了三个保护位,以消除大多数关于算术溢出的担忧。因此,每个组件的范围是从0xF0000000到0x0FFFFFFF,表示从-16到16的范围。下限包括在内,但上限不包括在内。
使用这个有限的范围是因为这些点是相对于图像大小表示的。垂直分量是相对于图像高度给出的,而水平分量是相对于图像宽度给出的。[0,0]表示图像的左上角;[1,1]([0x01000000,0x01000000])表示右下角。
在Windows中,路径点组件的字节顺序是相反的;您应该在访问每个 32 位值时交换字节。
- 路径记录(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。
字节表示:
- 4字节: Version 版本(对于 Photoshop 6.0 = 3)。
- 4字节: 标志. 第1位 = invert, 第2位 = not link, 第3位 = disable
其余数据是路径分量,一直循环直到长度结束。
40 PlLd / SoLd 放置图层(在 Photoshop CS3 中被 SoLd 取代)
- 4字节: 类型type(=PlLd)
- 4字节(int):版本号,总是为3
- ID长度(4字节)+ 1字节 * ID长度:ID
- 4字节:页码
- 4字节:总页数
- 4字节:抗锯齿策略
- 4字节:放置图层类型:0 = 未知,1 = 矢量,2 = 光栅,3 = 图像堆栈
- 8 * 8字节:变换:8个双精度数表示变换点的x、y位置,总共4个点,每个点的表示为x,y坐标,每个数值是8为的double类型数值。
- 4字节:变形版本(= 0)
- 4字节:变形描述符版本(= 16)
- 剩下的字节:变形信息的描述符
41 sn2P 使用对齐渲染
- 4字节: 非零表示使用对齐渲染。