Пример #1
0
        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();
            }
        }
Пример #2
0
 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;
 }