示例#1
0
        public DescriptorStructure(PsdReader reader, bool hasVersion)
        {
            if (hasVersion == true)
            {
                this.version = reader.ReadInt32();
            }

            this.Add("Name", reader.ReadString());
            this.Add("ClassID", reader.ReadKey());

            int count = reader.ReadInt32();

            for (int i = 0; i < count; i++)
            {
                string key    = reader.ReadKey();
                string osType = reader.ReadType();
                if (key == "EngineData")
                {
                    this.Add(key.Trim(), new StructureEngineData(reader));
                }
                else
                {
                    object value = StructureReader.Read(osType, reader);
                    this.Add(key.Trim(), value);
                }
            }
        }
 protected override void ReadData(PsdReader reader, object userData)
 {
     NumberOfChannels = reader.ReadInt16();
     Height           = reader.ReadInt32();
     Width            = reader.ReadInt32();
     Depth            = reader.ReadInt16();
     ColorMode        = reader.ReadColorMode();
 }
示例#3
0
 protected override void ReadData(PsdReader reader, object userData)
 {
     Top    = reader.ReadInt32();
     Left   = reader.ReadInt32();
     Bottom = reader.ReadInt32();
     Right  = reader.ReadInt32();
     Color  = reader.ReadByte();
     Flag   = reader.ReadByte();
 }
示例#4
0
        public void ReadHeader(PsdReader reader, CompressionType compressionType)
        {
            if (compressionType != CompressionType.RLE)
            {
                return;
            }

            this.rlePackLengths = new int[this.height];
            if (reader.Version == 1)
            {
                for (int i = 0; i < this.height; i++)
                {
                    this.rlePackLengths[i] = reader.ReadInt16();
                }
            }
            else
            {
                for (int i = 0; i < this.height; i++)
                {
                    this.rlePackLengths[i] = reader.ReadInt32();
                }
            }
        }
示例#5
0
 protected override long ReadLength(PsdReader reader)
 {
     return(reader.ReadInt32());
 }