Exemple #1
0
        internal override IFDHeader GetMakerNotesHeader(byte[] makerNotesFieldBytes, Endianness e)
        {
            IFDHeader result = null;

            NikonMakerNotesHeaderFormat format = IdentifyMakerNoteHeaderFormat(makerNotesFieldBytes.ToArray(), e);

            MakerNotesBytesParser parser = GetMakerNotesBytesParser(format);

            if (parser != null)
            {
                result = parser.ParseBytes(makerNotesFieldBytes.ToList(), e);
            }

            return(result);
        }
Exemple #2
0
        private MakerNotesBytesParser GetMakerNotesBytesParser(NikonMakerNotesHeaderFormat format)
        {
            MakerNotesBytesParser result = null;

            switch (format)
            {
            case NikonMakerNotesHeaderFormat.NikonType1:
                result = new NikonType1MakerNotesBytesParser();
                break;

            case NikonMakerNotesHeaderFormat.NikonType3:
                result = new NikonType3MakerNotesBytesParser();
                break;
            }
            return(result);
        }
Exemple #3
0
        internal override IFDHeader GetMakerNotesHeader(byte[] makerNotesFieldBytes, Endianness e, ImageFile processingFile)
        {
            IFDHeader result = null;

            NikonMakerNotesHeaderFormat format = IdentifyMakerNoteHeaderFormat(makerNotesFieldBytes.ToArray(), e);

            MakerNotesBytesParser parser = GetMakerNotesBytesParser(format);

            if (parser != null)
            {
                int offsetCorrectionIndex = -processingFile.MakerNotesTagOffset + processingFile.TiffHeaderOffset + 8;
                result = parser.ParseBytes(makerNotesFieldBytes.ToList(), e, offsetCorrectionIndex);
            }

            return(result);
        }