上面已经把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); }
剩下的部分就是Global layer mask的内容: class
//layerMask globalLayerMaskData = new ByteArray(); globalMaskLen = data.readInt(); if(0 != globalMaskLen) { data.readBytes(globalLayerMaskData, 0, globalMaskLen); }