load_bitmap(3) Loads any supported bitmap from a file. Allegro game programming library.

SYNOPSIS

#include <allegro.h>

BITMAP *load_bitmap(const char *filename, RGB *pal);

DESCRIPTION

Loads a bitmap from a file. The palette data will be stored in the second parameter, which should be an array of 256 RGB structures. At present this function supports BMP, LBM, PCX, and TGA files, determining the type from the file extension.

If the file contains a truecolor image, you must set the video mode or call set_color_conversion() before loading it. In this case, if the destination color depth is 8-bit, the palette will be generated by calling generate_optimized_palette() on the bitmap; otherwise, the returned palette will be generated by calling generate_332_palette().

The pal argument may be NULL. In this case, the palette data are simply not returned. Additionally, if the file is a truecolor image and the destination color depth is 8-bit, the color conversion process will use the current palette instead of generating an optimized one.

Example:

   BITMAP *bmp;
   PALETTE palette;
   ...
   bmp = load_bitmap("image.pcx", palette);
   if (!bmp)
      abort_on_error("Couldn't load image.pcx!");
   ...
   destroy_bitmap(bmp);

RETURN VALUE

Returns a pointer to the bitmap or NULL on error. Remember that you are responsible for destroying the bitmap when you are finished with it to avoid memory leaks.