PSD解析工具實現(三)

接下來的Color mode Data跟Image Resources通過研究,在這裏,這部分數據沒有用到,因此直接把他們所佔用的字節長度給讀取出來過濾掉: spa

Color mode data: code

public final class PsdColorModeDataVo
	{
		public var len:int;
		
		public var data:ByteArray;
		
		public function parse(ba:FileStream):void
		{
			data = new ByteArray();
			len = ba.readInt(); //rgb是0
			if(0 != len)
			{
				ba.readBytes(data, 0, len); 
			}
		}
	}



Image Resources:

public final class PsdImageResourcesVo
	{
		public var len:int;
		public var data:ByteArray;
		
		private var osType:String; 
		private var id:Number;
		private var pName:String;
		private var size:int;
		
		public function parse(ba:FileStream):void
		{
			data = new ByteArray();
			len = ba.readInt();
			if(0 != len)
			{
				ba.readBytes(data, 0, len);
				osType = data.readUTFBytes(4);
				id = data.readShort();
				pName = data.readUTF();
				size = data.readInt();
			}
		}
	}



Layer and Mask纔是咱們要重點關注的部分,這部分包含了全部的圖層信息,後面也只是對這部分的數據進行操做,因此這裏先把它的數據讀取出來,存着:

public final class PsdLayerAndMaskVo
	{
		public var len:int;
		public var data:ByteArray;
		
		public function parse(ba:FileStream):void
		{
			data = new ByteArray();
			len = ba.readInt();
			if(0 != len)
			{
				ba.readBytes(data, 0, len); 
			}
		}
	}



通過上面的幾回讀取,剩下來的就是Image data部分,這部分也無論它。 io

相關文章
相關標籤/搜索