Skip to content

Latest commit

 

History

History
127 lines (101 loc) · 5.32 KB

bmp_io.md

File metadata and controls

127 lines (101 loc) · 5.32 KB

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.

Licensing: {#licensing align="center"}

The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.

Languages: {#languages align="center"}

BMP_IO is available in a C++ version.

Related Data and Programs: {#related-data-and-programs align="center"}

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.

Reference: {#reference align="center"}

  1. David Kay and John Levine,
    Graphics File Formats,
    Second Edition,
    McGraw Hill, 1995.
  2. John Miano,
    Compressed Image File Formats,
    Addison Wesley, 1999.
  3. Microsoft Corporation,
    Microsoft Windows Programmer's Reference,
    Volume 5; Messages, Structures, and Macros,
    Microsoft Press, 1993.

Source Code: {#source-code align="center"}

Examples and Tests: {#examples-and-tests align="center"}

List of Routines: {#list-of-routines align="center"}

  • 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.