public void Validate() { bmpHeader.VerifyFileSignature(); imageHeader.Validate(); VerifyIndexedPaletteSizeDoesNotExceedBitCount(); VerifyPixelSizeMatchesImageDimensionsWithPitch(); }
// Read private static BmpHeader ReadBmpHeader(BinaryReader seekableReader) { BmpHeader bmpHeader = new BmpHeader(seekableReader); bmpHeader.VerifyFileSignature(); if (bmpHeader.size < seekableReader.BaseStream.Length) { throw new System.Exception("Bitmap file size exceed length of stream."); } return(bmpHeader); }