Я изо всех сил пытаюсь истолковать и разобраться во многих параметрах формата растрового изображения, и мой вариант использования настолько прост, что я надеялся, что кто-то может указать мне правильное направление: как мне (мысленно, с помощью пера и -paper) преобразовать необработанный файл .bitmap в массив пикселей? Все остальные сайты, которые я мог найти, предоставляют либо функцию, либо библиотеку для вычислительного решения проблемы, или я не могу понять тонкое различие между различными вариантами форматирования (а также мою путаницу между .bmp и .bitmap).
Мое изображение было нарисовано с помощью пиксельной сетки "13 X 11" в GIMP, с индексной моделью, установленной на 1-бит, перед экспортом в файл .bitmap. Файл скопирован ниже вместе с двумя его представлениями ASCII: вы должны увидеть «73» в середине и несколько пикселей в верхней и нижней строке шаблона: 1101001000010.
#define seventythree_with_fibbonacci_spaces_pixels_width 13
#define seventythree_with_fibbonacci_spaces_pixels_height 11
static unsigned char seventythree_with_fibbonacci_spaces_pixels_bits[] = {
0x4b, 0x08, 0x3e, 0x07, 0xa0, 0x04, 0x30, 0x04, 0x10, 0x07, 0x18, 0x04,
0x0c, 0x04, 0x84, 0x04, 0x84, 0x03, 0x00, 0x00, 0x4b, 0x08 };
/*
1101001000010
0111110011100
0000010100100
0000110000100
0000100011100
0001100000100
0011000000100
0010000100100
0010000111000
0000000000000
1101001000010
*/
/*
@@ @ @ @
@@@@@ @@@
@ @ @
@@ @
@ @@@
@@ @
@@ @
@ @ @
@ @@@
@@ @ @ @
*/
// where a 1 or @ represents a black pixel square,
// and a 0 or space is a white/blank square.
Теперь мой вопрос: какова точная математическая связь между этими 22 * 1006 * 8-битными словами [75, 8, 62, ...., 75, 8] и оригинальная картинка, которую я рисую в GIMP?
Я хочу иметь возможность рисовать простые изображения в GIMP, преобразовывать их в простую сетку или массив битов / булев, а затем я могу использовать этот массив для перерисовки изображения в совершенно ином контексте (карты видеоигр должны быть точные, с отображением черных пикселей, например, на стены).