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); }
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); }
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); }