Размер BMP 64 на 64 пикселя с RGBA32 обычно составляет 16440 байт (при условии BITMAPV3INFOHEADER).56 байтов для заголовка, 16384 байта для данных пикселей (что составляет 64 * 64 * 4).Размер заголовка может варьироваться, хотя , и может достигать 124 байтов (BITMAPV5HEADER), предполагая стандартный BMP.
Я думаю, у вас есть одно или несколько из следующих значений для учетаВаши дополнительные ~ 5376 (21760 - 16384) байтов:
- Проверка целостности (s) (контрольная сумма, CRC и т. д.)
- Более длинный заголовок, чем вы в настоящее время принимаете
- Выравнивание по пикселям, не равное 4 байтам
- Метаданные (комментарии, данные EXIF, данные GPS и т. Д.)
- Цветовой профиль ICC
- Пробел в данных
В любом случае, я бы сначала проверил последние 16384 (64 * 64 * 4) байта данных, которые, вероятно, там, где находятся данные вашего изображения (если этот формат вообще принимает после формата BMPи не имеет никаких конечных метаданных или профиля ICC или проверки целостности).Примечательно, что данные RGBA обычно хранятся с первым альфа-байтом (ARGB).
Возможно, стоит взглянуть на эту диаграмму формата файла BMP , просто чтобы ознакомиться собщая структура формата изображения.