Mira tengo entendido que tienes que leer byte por byte, lo acumulas en una variable, y luego lo imterpretas, recuerda que el valor del byte puede ser un valor decimal o hexadecimal, lo importante es que son colores, el BMP trabaja con RGB, y sabes que seran grupos de 3 colores cada uno, tambien tengo entendido que la cabecera del BMP es simple, ahi debe haber un valor que te indique si es escala de grises, balcno y negro o colores (RGB). Si hago algo, ya te cuento.
Saludos