BMP_IO
Microsoft BMP bitmap files
Read and Write Utilities {#bmp_io-microsoft-bmp-bitmap-files-read-and-write-utilities align="center"}
BMP_IO is a C++ library which reads or writes the graphics information in a Microsoft BMP file.
A user program can employ these routines to read a BMP file and extract and return the graphics information (RGB pixel arrays), or to write internal RGB pixel arrays into a properly formatted BMP file. The BMP file format is used for many of the icons seen cluttering up the desktop of a Windows machine, for instance.
Of course, another interesting application is to read in a BMP file, and write out the RGB information to a file in another format.
Since some of the data is multibyte, the format of the file can depend on whether such data is written with the bytes in "little-endian" or "big-endian" order. The program maintains a variable called BMP_BYTE_SWAP which controls how the program assumes the bytes are ordered. Setting this variable to true show be the appropriate value for little-endian ordering, while false is for big-endian. This variable can be read by calling the function bmp_byte_swap_get, or set by calling bmp_byte_swap_set.
The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.
BMP_IO is available in a C++ version.
BMP, a data directory which contains example BMP files.
BMP_TO_PPMA, a C++ program which converts BMP files to ASCII PPM format.
BMP_TO_PPMB, a C++ program which converts BMP files to binary PPM format.
PPMA_TO_BMP, a C++ program which converts ASCII PPM files to BMP format.
PPMB_TO_BMP, a C++ program which converts binary PPM files to BMP format.
- David Kay and John Levine,
Graphics File Formats,
Second Edition,
McGraw Hill, 1995. - John Miano,
Compressed Image File Formats,
Addison Wesley, 1999. - Microsoft Corporation,
Microsoft Windows Programmer's Reference,
Volume 5; Messages, Structures, and Macros,
Microsoft Press, 1993.
- bmp_io.cpp, the source code;
- bmp_io.hpp, the include file;
- bmp_io_prb.cpp, a calling program;
- bmp_io_prb_output.txt, output from a run of the calling program;
- bmp_08.bmp, a monochrome (8 bits per pixel) BMP file created by the calling program;
- bmp_24.bmp, a three color (24 bits per pixel) BMP file created by the calling program;
- BMP_BYTE_SWAP_GET returns the internal value of BMP_BYTE_SWAP.
- BMP_BYTE_SWAP_SET sets the internal value of BMP_BYTE_SWAP.
- BMP_08_DATA_READ reads 8 bit image data of the BMP file.
- BMP_08_DATA_WRITE writes 8 bit image data to a BMP file.
- BMP_24_DATA_READ reads 24 bit image data of the BMP file.
- BMP_24_DATA_WRITE writes 24 bit image data to the BMP file.
- BMP_HEADER1_PRINT prints the header information of a BMP file.
- BMP_HEADER1_READ reads the header information of a BMP file.
- BMP_HEADER1_WRITE writes the header information to a BMP file.
- BMP_HEADER2_PRINT prints the bitmap header information of a BMP file.
- BMP_HEADER2_READ reads the bitmap header information of a BMP file.
- BMP_HEADER2_WRITE writes the bitmap header information to a BMP file.
- BMP_PALETTE_PRINT prints the palette data in a BMP file.
- BMP_PALETTE_READ reads the palette information of a BMP file.
- BMP_PALETTE_WRITE writes the palette data to the BMP file.
- BMP_PRINT_TEST tests the BMP print routines.
- BMP_READ reads the header and data of a BMP file.
- BMP_READ_TEST tests the BMP read routines.
- BMP_08_WRITE writes the header and data for a monochrome BMP file.
- BMP_08_WRITE_TEST tests the BMP write routines.
- BMP_24_WRITE writes the header and data for a BMP file using three colors.
- BMP_24_WRITE_TEST tests the BMP write routines.
- LONG_INT_READ reads a long int from a file.
- LONG_INT_WRITE writes a long int to a file.
- U_LONG_INT_READ reads an unsigned long int from a file.
- U_LONG_INT_WRITE writes an unsigned long int to a file.
- U_SHORT_INT_READ reads an unsigned short int from a file.
- U_SHORT_INT_WRITE writes an unsigned short int to a file.
You can go up one level to the C++ source codes.
Last revised on 09 December 2005.