Últimamente he hablado acerca del I concurso de programación de Tuenti. Un concurso de programación Online que se llevó acabo durante la semana pasada (del 13 al 20 de Junio, muy mala fecha).
Podéis ver los enunciados de todos los problemas, con ejemplos sobre la entrada y salida (aunque a veces no hay que haerles mucho caso) en la web oficial del concurso, pero en Vidas Concurrentes lo encontramos todo en español.… Leer artículo completo
Hoy vamos a practicar a leer una imagen desde un archivo BMP desde C. Aunque existen muchas APIs disponibles que son capaces de hacerlo, y mucho mejor que lo que voy a plantear (puesto que nos limitaremos a BMPs sin compresión y a 24bits por pixel), es un buen ejercicio para leer archivos con un formato especificado y documentado.
Para este tipo de archivos, tendremos dos cabeceras disponibles, la primera será la cabecera de fichero, y la segunda, la cabecera de información de imagen, que las definimos aquí:
typedefstruct bmpFileHeader { /* 2 bytes de identificación */ uint32_t size;/* Tamaño del archivo */ uint16_t resv1;/* Reservado */ uint16_t resv2;/* Reservado */ uint32_t offset;/* Offset hasta hasta los datos de imagen */ } bmpFileHeader;
typedefstruct bmpInfoHeader { uint32_t headersize;/* Tamaño de la cabecera */ uint32_t width;/* Ancho */ uint32_t height;/* Alto */ uint16_t planes;/* Planos de color (Siempre 1) */ uint16_t bpp;/* bits por pixel */ uint32_t compress;/* compresión */ uint32_t imgsize;/* tamaño de los datos de imagen */ uint32_t bpmx;/* Resolución X en bits por metro */ uint32_t bpmy;/* Resolución Y en bits por metro */ uint32_t colors;/* colors used en la paleta */ uint32_t imxtcolors;/* Colores importantes.
Si te ha gustado el sitio, te ha resultado útil o simplemente quieres colaborar con el sitio para que siga compartiendo contenidos, invítame a un café, una pizza, una ensalada, o lo que se te ocurra.Te lo agradeceré eternamente :)
¡Atención! Este sitio utiliza cookies propias y de terceros para mejorar la experiencia de usuario, Si continúa la navegación en el sitio, asumo que estás de acuerdo con esto, aunque siempre puedes desactivar las cookies en tu navegador. AceptarLeer más
Últimos comentarios