1bpp рассматривается как индексированный цветной формат (такой же, как для 4bpp и 8bpp).Поэтому таблица цветов является обязательной.
Таким образом, ваше изображение тоже выглядит примерно так:
FILEHEADER (14 bytes)
42 4D
3E 1C 00 00 <-- updated
00 00 00 00
3E 00 00 00 <-- updated
INFOHEADER (40 bytes)
28 00 00 00
00 01 00 00
E0 00 00 00
01 00
01 00
00 00 00 00
00 00 00 00 <-- is this correct?
00 00 00 00
00 00 00 00
00 00 00 00
00 00 00 00
COLOR TABLE (8 bytes) <-- added
FF FF FF 00
00 00 00 00
RASTER DATA (7168 bytes)
1st ... 31th (bytes for line 1)
32th ... 63th (bytes for line 2)
... (bytes for line n)
... (bytes for line 224)
Обновление
Значения пикселей вРаздел растровых данных интерпретируется как индексы в таблице цветов.А таблица цветов - это массив значений RGBA.Вы можете указать количество записей в заголовке или - если оно равно 0 - предполагается, что оно равно 2 ** n, где ni - число бит на пиксель.
В вашем случае 0-битный будет индекс0 и цвет будет 0xffffff00, т.е. белый.1 бит будет индексом 1, а цвет будет 0x00000000, т.е. белым.Если бит 0 черный, поменяйте местами записи цвета.