ReadFile(hFile,&bih,sizeof(BITMAPINFOHEADER),&dwRWBuf,NULL);
ReadFile(hFile,&bfh,sizeof(BITMAPFILEHEADER),&dwRWBuf,NULL);
HANDLE hFile = CreateFileA(szBmp,GENERIC_READ|GENERIC_WRITE,FILE_SHARE_READ,NULL,OPEN_EXISTING,NULL,NULL);
Каждый пиксель из кучки описывается структурой RGBTRIPLE, в которой как раз и закодирован цвет каждого пиксела. Масло масляное… Теории достаточно для начала, давайте реализовывать! Код функции цвет->чб таков:
Кучка пикселов (OFFSET = BITMAPFILEHEADER.bfOffBits)
Структура BITMAPINFOHEADER (OFFSET = sizeof(BITMAPFILEHEADER ))
Ну что же, начнем пожалуйИтак, 24-разрядный bmp файл состоит из следующих компонент (все структуры описаны в файле windows.h):
В последнее время я не на шутку заинтересовался форматом bmp. Он довольно прост по составу, но в то же время довольно и интересен, чтобы ковырятся в его внутренностях. Сегодня я сначала несколько обрисую этот формат, а затем приведу программку, переводящую цветную картинку в черно-белую. Работать, для простоты, я буду с 24-разрядной картинкой. Итак, вот пример того, что сегодня я сделаю:
Комментариев нет:
Отправить комментарий