4. 其他数据区域

其他信息数据区数据列表,主要包括16位图层信息和用户自定义图案信息

  1. 16位图层信息数据格式如下:

    • 4字节(char):资源标签,总是为'8BIM'
    • 4字节(char):信息标签,总是为'Lr16'
    • 图层信息数据格式同上;
  2. 用户自定义图案信息(Photoshop 6.0以上),数据格式如下:

    • 4字节(char):资源标签,总是为'8BIM'
    • 4字节(char):信息标签,总是为'Patt'或'Pat2'
    • 4字节(int):数据长度,长度必须是4的倍数,不足的后面补0
    • 图案信息列表,数据格式如下:
      • 4字节(int):图案数据区长度(4字节),长度必须是4的倍数,不足的后面补0

      • 4字节(int):版本号,总是为1

      • 4字节(int):图案颜色模式: 0为位图,1为灰度,2为索引色,3为RGB,4为CMYK,7为多通道,8为双色调,9为LAB

      • 2字节(short):图案高度

      • 2字节(short):图案宽度

      • 4字节(int)+ 2字节名称长度:图案Unicode名称(名称长度 + 2字节名称长度)

      • 1字节(byte)+ 2字节ID长度:图案ID(ID长度 + 1字节ID长度)

      • 如果是索引色,读取调色板信息(256 * RGB颜色值(3字节))

      • 4字节(int):图案版本

      • 4字节(int):解压后图案数据长度

      • 4 * 4字节(int):图案位置,依次为top, left, bottom, right

      • 4字节(int):最大通道数

      • 图案各通道信息列表,数据格式如下:

        • 4字节(int):是否已写入数组标记
        • 4字节(int):通道数据长度(压缩)
        • 4字节(int):像素颜色位数:值为1、8、16
        • 4 * 4字节(int):通道位置,依次为top, left, bottom, right
        • 2字节(short):像素颜色位数:值为1、8、16
        • 1字节(byte):压缩模式,,0为不压缩、1为RLE压缩、2为ZIP without prediction、3为ZIP with prediction。其中'Pat2'必然为ZIP压缩
      • 后面的数据为该通道的图像数据,如果使用了图像压缩,需要先把后面的图像数据解压缩。加载所有通道后可以解析图像数据,数据格式同图层的图像数据。

  3. 其他未知信息,数据格式如下:

    • 4字节(char):资源标签,总是为'8BIM'
    • 4字节(char):信息标签
    • 4字节(int):数据长度