Aviso: cuando use im�genes truecolor, siempre debe ajustar el modo gr�fico antes de cargar cualquier dato. De otro modo el formato de pixel (RGB o BGR) ser� desconocido, y el fichero podr�a ser convertido err�neamente.
BITMAP *load_bitmap(char *filename, RGB *pal);
Carga un bitmap desde un fichero, devolviendo un puntero al bitmap y
almacenando los datos de la paleta en el lugar especificado, que deber�a
ser un array de 256 estructuras RGB. Es responsable de destruir el bitmap
cuando ya no lo necesite. Devuelve NULL si hubo errores. Por ahora esta
funci�n soporta ficheros BMP, LBM, PCX y TGA, determinando el tipo por la
extensi�n del fichero. Si el fichero tiene una imagen truecolor, debe
ajustar el modo de v�deo o llamar set_color_conversion() antes de
cargarlo.
BITMAP *load_bmp(char *filename, RGB *pal);
Carga un fichero Windows u OS/2 de 256 colores o 24 bits truecolor.
BITMAP *load_lbm(char *filename, RGB *pal);
Carga un fichero IFF ILBM/PBM de 256 colores.
BITMAP *load_pcx(char *filename, RGB *pal);
Carga un fichero PCX de 256 colores o 24 bits truecolor.
BITMAP *load_tga(char *filename, RGB *pal);
Carga un fichero TGA de 256 colores, 15 bits hicolor o 24 bits truecolor.
int save_bitmap(char *filename, BITMAP *bmp, RGB *pal);
Escribe un bitmap en un fichero, usando la paleta especificada, que
deber�a ser un array de 256 estructuras RGB. Devuelve no-cero si hubo
errores. El formato de salida es determinado por la extensi�n del
fichero: actualmente esta funci�n soporta ficheros BMP, PCX o TGA. Una de
las cosas con las que tener cuidado: si usa esto para volcar la pantalla
en un fichero, puede acabar con una imagen m�s grande de lo esperado, ya
que Allegro suele crear pantallas virtuales m�s grandes que la pantalla
visible. Puede solucionar esto usando un sub-bitmap que especifica que
parte de la pantalla quiere salvar, ejemplo:
BITMAP *bmp; PALETTE pal;int save_bmp(char *filename, BITMAP *bmp, RGB *pal);get_palette(pal); bmp = create_sub_bitmap(screen, 0, 0, SCREEN_W, SCREEN_H); save_bitmap("pantalla.pcx", bmp, pal); destroy_bitmap(bmp);
int save_pcx(char *filename, BITMAP *bmp, RGB *pal);
Escribe un bitmap en un fichero PCX de 256 colores o 24 bits truecolor.
int save_tga(char *filename, BITMAP *bmp, RGB *pal);
Escribe un bitmap en un fichero TGA de 256 colores, 15 bits hicolor o 24
bits truecolor.
void register_bitmap_file_type(char *ext,
BITMAP *(*load)(char *filename, RGB *pal),
int (*save)(char *filename, BITMAP *bmp, RGB *pal));
Informa a las funciones load_bitmap() y save_bitmap() de un nuevo tipo de
fichero, dando rutinas para leer o escribir im�genes en este formato
(cualquier funci�n puede ser NULL).
void set_color_conversion(int mode);
Indica c�mo convertir im�genes entre varias profundidades de color cuando
lea un gr�fico de un fichero bitmap externo o fichero de datos. El modo
es una m�scara de bits que especifica qu� tipos de conversi�n son
permitidos. Si el bit apropiado est� activado, los datos ser�n
convertidos al formato de pixel actual (seleccionado con la funci�n
set_color_depth()), de otro modo se quedar�n en el formato en el que
fueron cargados, dej�ndole a usted la tarea de convertirlos manualmente
antes de visualizarlos. El modo por defecto es la conversi�n total, para
que todas las im�genes que sean cargadas puedan verse con el modo de
v�deo actual. Los biestables de bit v�lidos son:
COLORCONV_EXPAND_256 // expande 256 colores en truecolor COLORCONV_REDUCE_TO_256 // reduce truecolor a 256 colores COLORCONV_EXPAND_15_TO_16 // expande 15 bit hicolor a 16 bits COLORCONV_REDUCE_16_TO_15 // reduce 16 bit hicolor a 15 bits COLORCONV_EXPAND_HI_TO_TRUE // expande 15/16 bits a 24/32 bits COLORCONV_REDUCE_TRUE_TO_HI // reduce 24/32 bits a 15/16 bits COLORCONV_24_EQUALS_32 // convierte entre 24 y 32 bits COLORCONV_DITHER // difumina al reducir a hicolorPor conveniencia, las siguientes macros pueden ser usadas para seleccionar una combinaci�n com�n de estos biestables:
COLORCONV_NONE // desactiva todas las conversiones de formato COLORCONV_TOTAL // convierte todo al formato actual COLORCONV_PARTIAL // convierte 15 <-> 16 y 24 <-> 32 bits COLORCONV_MOST // todas excepto truecolor <-> 256Si activa el biestable COLORCONV_DITHER, se realizar� un difuminado cuando gr�ficos truecolor sean convertidos a formato hicolor, incluyendo la funci�n blit(). Esto puede producir resultados m�s agradables a la vista, pero es obviamente m�s lento que una conversi�n directa.