private static void ReadBitmap(string fileName, out byte[] buffer, out long length, out BITMAPFILEHEADER bmf, out BITMAPINFOHEADER bmi) { var fileStream = OpenFileOrDie(fileName, FileMode.Open); try { var bmfB = new byte[Marshal.SizeOf <BITMAPFILEHEADER>()]; var bmiB = new byte[Marshal.SizeOf <BITMAPINFOHEADER>()]; length = fileStream.Length - (bmfB.Length + bmiB.Length); buffer = new byte[length]; fileStream.Read(bmfB, 0, Marshal.SizeOf <BITMAPFILEHEADER>()); fileStream.Read(bmiB, 0, Marshal.SizeOf <BITMAPINFOHEADER>()); fileStream.Read(buffer, 0, (int)length); // ReSharper disable once UnusedVariable bmf = ByteArrayToStructure <BITMAPFILEHEADER>(bmfB); bmi = ByteArrayToStructure <BITMAPINFOHEADER>(bmiB); } finally { fileStream.Close(); } }
public DecodingData(BITMAPFILEHEADER bmf, BITMAPINFOHEADER bmi, byte[] encodedData, RGBQUAD[] pal, byte[] alphaBuff, byte[] decodedData, AGFHDR agfHeader, ACIFHDR acifHeader) : this(bmf, bmi, encodedData, pal, alphaBuff, decodedData) { AgfHeader = agfHeader; AcifHeader = acifHeader; }