PSD解析工具实现(四)

上面已经把Layer and mask(图层与蒙版信息)这部分的字节流保存起来了,这里就是主要对这部份内容进行解析,包括图层的信息以及图层的内容。 数组


从这里能够发现这部分信息包含两个模块,Layers(图层)跟Global layer mask(全局图层蒙版),蒙版咱们先无论它,主要是看Layers(图层) spa


从上面的表格能够分析出来,图层信息部分的长度是有点特殊的,它必须是2的倍数,因此读出这部分长度: code

layerData = new ByteArray();
//layer
layerLen = data.readInt();//2-12
if(0 != layerLen)
{
  //补充到2的倍数
  while(0 != layerLen%2)
  {
    layerLen += 1;
  }
  data.readBytes(layerData, 0, layerLen);
}



到这里,已经就把全部的图层信息保存在了layerData字节数组里面。

剩下的部分就是Global layer mask的内容: class


//layerMask
globalLayerMaskData = new ByteArray();
globalMaskLen = data.readInt();
if(0 != globalMaskLen)
{ data.readBytes(globalLayerMaskData, 0, globalMaskLen);
}
相关文章
相关标签/搜索