Beispiel #1
0
 public CV2Reader(Stream input)
 {
     if (input.Length < 17)
     {
         throw new IOException("ファイルが小さすぎます");
     }
     _header = CV2Header.Deserialize(input);
     if (_header.Height * _header.PaddedWidth * _header.Bpp > input.Length - 17)
     {
         throw new IOException("ファイルが小さすぎます");
     }
     cv2 = input;
 }
Beispiel #2
0
        public static CV2Header Deserialize(Stream input)
        {
            CV2Header      header = new CV2Header();
            BinaryReaderEx reader = new BinaryReaderEx(input);

            header.bpp         = reader.ReadByte();
            header.Width       = reader.ReadInt32();
            header.Height      = reader.ReadInt32();
            header.PaddedWidth = reader.ReadInt32();
            int resd1 = reader.ReadInt32();

            if (header.PaddedWidth < header.Width)
            {
                throw new FormatException("ヘッダーが不正です。");
            }
            return(header);
        }