上面已經把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); }