Beispiel #1
0
        protected override void ReadValue(PsdReader reader, object userData, out LinkedLayer value)
        {
            reader.ValidateSignature("liFD");
            int version = reader.ReadInt32();

            Guid        id         = new Guid(reader.ReadPascalString(1));
            string      name       = reader.ReadString();
            string      type       = reader.ReadType();
            string      creator    = reader.ReadType();
            long        length     = reader.ReadInt64();
            IProperties properties = reader.ReadBoolean() == true ? new DescriptorStructure(reader) : null;

            bool isDocument = this.IsDocument(reader);
            LinkedDocumentReader           documentReader   = null;
            LinkedDocumnetFileHeaderReader fileHeaderReader = null;

            if (length > 0 && isDocument == true)
            {
                long position = reader.Position;
                documentReader   = new LinkedDocumentReader(reader, length);
                reader.Position  = position;
                fileHeaderReader = new LinkedDocumnetFileHeaderReader(reader, length);
            }

            value = new LinkedLayer(name, id, documentReader, fileHeaderReader);
        }
        protected override void ReadData(PsdReader reader, object userData)
        {
            LayerRecords             records        = userData as LayerRecords;
            LayerMaskBlock           mask           = LayerMaskBlock.Read(reader);
            LayerBlendingRangesBlock blendingRanges = LayerBlendingRangesBlock.Read(reader);
            string name          = reader.ReadPascalString(4);
            var    layerResource = new LayerResourceBlock(reader, this.EndPosition - reader.Position);

            records.SetExtraRecords(mask, blendingRanges, layerResource.Resources, name);

            LayerRecords = records;
        }
Beispiel #3
0
        protected override void ReadValue(PsdReader reader, object userData, out LayerRecords value)
        {
            LayerRecords records = userData as LayerRecords;

            LayerMask           mask           = LayerMaskReader.Read(reader);
            LayerBlendingRanges blendingRanges = LayerBlendingRangesReader.Read(reader);
            string      name      = reader.ReadPascalString(4);
            IProperties resources = new LayerResourceReader(reader, this.EndPosition - reader.Position);

            records.SetExtraRecords(mask, blendingRanges, resources, name);
            value = records;
        }
Beispiel #4
0
        protected override void ReadData(PsdReader reader, object userData)
        {
            reader.ValidateType("plcL", "LayerResource PlLd");
            var Version     = reader.ReadInt32();
            var UniqueID    = reader.ReadPascalString(1);
            var PageNumbers = reader.ReadInt32();
            var Pages       = reader.ReadInt32();
            var AntiAlias   = reader.ReadInt32();
            var LayerType   = reader.ReadInt32();

            Transformation = reader.ReadDoubles(8);
            reader.ValidateInt32(0, "WarpVersion");
            var Warp = new StructureDescriptor(reader);
        }
Beispiel #5
0
        protected override void ReadData(PsdReader reader, object userData)
        {
            reader.ValidateSignature("liFE");

            int version = reader.ReadInt32();

            Guid   id      = new Guid(reader.ReadPascalString(1));
            string name    = reader.ReadString();
            string type    = reader.ReadType();
            string creator = reader.ReadType();

            long        length      = reader.ReadInt64();
            IProperties properties  = reader.ReadBoolean() == true ? new StructureDescriptor(reader).Items : null;
            Uri         absoluteUri = this.ReadAboluteUri(reader);

            EmbeddedLayer = new EmbeddedLayer(id, reader.Resolver, absoluteUri);
        }
Beispiel #6
0
        protected override void ReadValue(PsdReader reader, object userData, out IProperties value)
        {
            Properties props = new Properties();

            reader.ValidateType("plcL", "LayerResource PlLd");
            props["Version"]        = reader.ReadInt32();
            props["UniqueID"]       = reader.ReadPascalString(1);
            props["PageNumbers"]    = reader.ReadInt32();
            props["Pages"]          = reader.ReadInt32();
            props["AntiAlias"]      = reader.ReadInt32();
            props["LayerType"]      = reader.ReadInt32();
            props["Transformation"] = reader.ReadDoubles(8);
            reader.ValidateInt32(0, "WarpVersion");
            props["Warp"] = new DescriptorStructure(reader);

            value = props;
        }
        protected override void ReadValue(PsdReader reader, Object userData, out EmbeddedLayer value)
        {
            reader.ValidateSignature("liFE");

            Int32 version = reader.ReadInt32();

            Guid   id      = new Guid(reader.ReadPascalString(1));
            String name    = reader.ReadString();
            String type    = reader.ReadType();
            String creator = reader.ReadType();

            Int64       length      = reader.ReadInt64();
            IProperties properties  = reader.ReadBoolean() == true ? new DescriptorStructure(reader) : null;
            Uri         absoluteUri = this.ReadAboluteUri(reader);

            value = new EmbeddedLayer(id, reader.Resolver, absoluteUri);
        }
        protected override void ReadValue(PsdReader reader, object userData, out IProperties value)
        {
            Properties props = new Properties();

            while(reader.Position < this.EndPosition)
            {
                reader.ValidateSignature();

                string resourceID = reader.ReadInt16().ToString();
                string name = reader.ReadPascalString(2);
                long length = reader.ReadInt32();
                length += (length % 2);

                ResourceReaderBase resourceReader = ReaderCollector.CreateReader(resourceID, reader, length);
                string resourceName = ReaderCollector.GetDisplayName(resourceID);

                props[resourceName] = resourceReader;
            }

            value = props;
        }
Beispiel #9
0
        protected override void ReadValue(PsdReader reader, object userData, out IProperties value)
        {
            Properties props = new Properties();

            while (reader.Position < this.EndPosition)
            {
                reader.ValidateSignature();

                string resourceID = reader.ReadInt16().ToString();
                string name       = reader.ReadPascalString(2);
                long   length     = reader.ReadInt32();
                length += (length % 2);

                ResourceReaderBase resourceReader = ReaderCollector.CreateReader(resourceID, reader, length);
                string             resourceName   = ReaderCollector.GetDisplayName(resourceID);

                props[resourceName] = resourceReader;
            }

            value = props;
        }
Beispiel #10
0
        protected override void ReadData(PsdReader reader, object userData)
        {
            var list = new List <IResourceBlock>();

            while (reader.Position < this.EndPosition)
            {
                reader.ValidateSignature();

                string resourceID = reader.ReadInt16().ToString();
                string name       = reader.ReadPascalString(2);
                long   length     = reader.ReadInt32();
                length += (length % 2);

                var    resourceReader = ReaderCollector.CreateReader(resourceID, reader, length);
                string resourceName   = ReaderCollector.GetDisplayName(resourceID);

                list.Add(resourceReader);
            }

            Resources = list.ToArray();
        }