Pregunta

¿Alguien sabe un buen ejemplo de C que carga los mapas de bits y se ocupa de todos los casos:? Rle, mapas de bits en b / n, etc.

El código debe ser multiplataforma.

Gracias.

¿Fue útil?

Solución

Se recomienda usar una biblioteca como imagen SDL

Otros consejos

Si usted está buscando un cargador bmp mínimo este enlace le dará todo lo que necesita saber sobre el formato BMP, las estructuras de datos y código de ejemplo y sin ninguna biblioteca de la dependencia a la carga:

http://paulbourke.net/dataformats/bmp/ .

También contiene código para ver el BMP cargado en una textura gl abierto, así que prácticamente todo lo que necesita ...

Chris Backhouse hizo un pequeño cargador funcional BMP (con miras a su uso como texturas de OpenGL). Es C ++, no C, y admite que no es multiplataforma. Sin embargo, es pequeño y fácil de entender, así que pensé que me gustaría añadir el enlace aquí:

http://users.ox.ac.uk/~orie1330/bmploader .html

Es necesario alguna biblioteca externa para hacer esto (recomiendo ImageMagick ). La página web de ImageMagick también incluye documentación y ejemplos.

Salida de la biblioteca OpenCV desarrollado por Intel.

Si está atado al formato de archivo BMP, es bastante fácil de ver el encabezado ti mismo y obtener los píxeles. Ver esta búsqueda Google . Uno de los partidos más interesantes es aquí . La parte más contrario a la intuición es que cada línea de píxeles es de 4 bytes alineados. También, ten cuidado con las BMP comprimido ... (Mi experiencia es que muchas herramientas de terceros tienen problemas con las BMP comprimido, por lo que tal vez algunas bibliotecas se encuentran también ..)

Si no está atado al formato de archivo BMP, recomiendo libpng. El manual de proporciona algunos ejemplos de código que es bastante clara .

A medida que otros sugirieron que podría querer usar una biblioteca externa como SDL. Si quieres aprender algo y lo hace usted mismo, véase mi respuesta a esta pregunta muy similar: Obtener valores RGB para cada píxel de un mapa de bits de 24 bpp para la conversión a formato GBA en C donde encontrará el código C que imprime cada píxel, y echar un vistazo a la página de Wikipedia sobre los archivos bmp, porque es muy bueno.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top