void ReadBMP() { FileStream BMP = new FileStream(name, FileMode.Open); BinaryReader dataout = new BinaryReader(BMP); HeadBMP = new HeaderBMP(); HeadBMP.bfType = dataout.ReadInt16(); HeadBMP.bfSize = dataout.ReadUInt32(); HeadBMP.Reserved1 = dataout.ReadInt16(); HeadBMP.Reserved2 = dataout.ReadInt16(); HeadBMP.bfOffBits = dataout.ReadInt32(); HeadBMP.biSize = dataout.ReadUInt32(); HeadBMP.biWidth = dataout.ReadInt32(); HeadBMP.biHeight = dataout.ReadInt32(); HeadBMP.biPlanes = dataout.ReadUInt16(); HeadBMP.biBitCount = dataout.ReadUInt16(); HeadBMP.biCompression = dataout.ReadUInt32(); HeadBMP.biSizeImage = dataout.ReadUInt32(); HeadBMP.biXPelsPerMeter = dataout.ReadInt32(); HeadBMP.biYPelsPerMeter = dataout.ReadInt32(); HeadBMP.biClrUsed = dataout.ReadUInt32(); HeadBMP.biClrImportant = dataout.ReadUInt32(); int k = (int)(4 - (HeadBMP.biWidth * 3) % 4) % 4; matrix = new BMPRGB[Math.Abs(HeadBMP.biHeight), Math.Abs(HeadBMP.biWidth)]; for (int i = 0; i < Math.Abs(HeadBMP.biHeight); i++) { for (int j = 0; j < Math.Abs(HeadBMP.biWidth); j++) { matrix[i, j].rgbBlue = dataout.ReadByte(); matrix[i, j].rgbGreen = dataout.ReadByte(); matrix[i, j].rgbRed = dataout.ReadByte(); } for (int i1 = 0; i1 < k; i1++) { dataout.ReadByte(); } } }
void ReadBMP() { FileStream BMP = new FileStream(name, FileMode.Open); BinaryReader dataout = new BinaryReader(BMP); HeadBMP = new HeaderBMP(); HeadBMP.bfType = dataout.ReadInt16(); HeadBMP.bfSize = dataout.ReadUInt32(); HeadBMP.Reserved1 = dataout.ReadInt16(); HeadBMP.Reserved2 = dataout.ReadInt16(); HeadBMP.bfOffBits = dataout.ReadInt32(); HeadBMP.biSize = dataout.ReadUInt32(); HeadBMP.biWidth = dataout.ReadInt32(); HeadBMP.biHeight = dataout.ReadInt32(); HeadBMP.biPlanes = dataout.ReadUInt16(); HeadBMP.biBitCount = dataout.ReadUInt16(); HeadBMP.biCompression = dataout.ReadUInt32(); HeadBMP.biSizeImage = dataout.ReadUInt32(); HeadBMP.biXPelsPerMeter = dataout.ReadInt32(); HeadBMP.biYPelsPerMeter = dataout.ReadInt32(); HeadBMP.biClrUsed = dataout.ReadUInt32(); HeadBMP.biClrImportant = dataout.ReadUInt32(); int k = (int)(4 - (HeadBMP.biWidth * 3) % 4) % 4; matrix = new BMPRGB[Math.Abs(HeadBMP.biHeight), Math.Abs(HeadBMP.biWidth)]; for (int i = 0; i < Math.Abs(HeadBMP.biHeight); i++) { for (int j = 0; j < Math.Abs(HeadBMP.biWidth); j++) { matrix[i, j].rgbBlue = dataout.ReadByte(); matrix[i, j].rgbGreen = dataout.ReadByte(); matrix[i, j].rgbRed = dataout.ReadByte(); } for (int i1 = 0; i1 < k; i1++) dataout.ReadByte(); } }