Exemple #1
0
        public static async Task <TiffHeader> ReadHeaderAsync(Stream stream)
        {
            var bytes = await stream.ReadBytesAsync(SIZEOF_HEADER);

            ByteOrder        byteOrder         = ReadHeader_ByteOrder(bytes);
            int              magicNumber       = DataConverter.ToInt16(bytes, 2, byteOrder);
            TiffIfdReference firstIfdReference = new TiffIfdReference(DataConverter.ToUInt32(bytes, 4, byteOrder));

            if (magicNumber != 42)
            {
                throw new ImageFormatException("The TIFF header does not contain the expected magic number.");
            }

            return(new TiffHeader {
                ByteOrder = byteOrder, FirstIfdReference = firstIfdReference
            });
        }
Exemple #2
0
 public static Task <TiffIfd> ReadIfdAsync(TiffIfdReference ifdReference, Stream stream, ByteOrder byteOrder)
 {
     stream.Seek(ifdReference.Offset, SeekOrigin.Begin);
     return(ReadIfdAsync(stream, byteOrder));
 }