21 августа 2014 г.

Работа с BMP файлом C++ преобразование изображения в массив

О том из чего состоит BMP файл я написал Здесь.

Мне нужно было написать программу которая конвертирует изображение в массив состоящий из 2 чисел, чтобы получилась матрица чёрно белого изображения, которую я могу использовать для работы с дисплеем от Nokia 5110.

Здесь лежит исходный код на c++, того что у меня получилось, теперь я немного опишу как он работает.

int main(int argc, char *argv[])

Я решил что для того чтобы открыть изображение в моей программе его следует бросить на .exe, для этого я использовал эти параметры в main: (int argc, char *argv[]), argc хранит значение аргументов которые мы передали программе, argv хранит строки которые мы передали программе.

Описание формата изображения BMP или как он выглядит внутри

Мне нужно было сделать конвертер изображений в код для дисплея от Nokia 5110. Я решил использовать .bmp файлы. Теперь расскажу что я узнал.

.bmp файл это бинарный файл, на Википедии хорошо расписано как он выглядит внутри, какая информация хранится в каждом бите и есть несколько примеров. 

Также удобно использовать какой либо "hex editor" его можно использовать чтобы открыть изображение и увидеть исходный код в 16-ричной системе. У меня такой: "Hex Editor XVI32"