En general, Allegro est� dise�ada para usarse s�lo con una profundidad de color a la vez, as� que s�lo llamar� una vez a set_color_depth() y entonces almacenar� todos sus bitmaps en el mismo formato. Si quiere mezclar diferentes formatos de p�xel, puede usar create_bitmap_ex() en vez de create_bitmap(), y llamar a bitmap_color_depth() para pedir el formato de la imagen en cuesti�n. La mayor�a de las r�tinas gr�ficas requieren que todos sus par�metros de entrada est�n en el mismo formato (p.ej. no puede expandir un bitmap origen de 15 bits en un destino de 24 bits), pero hay cuatro excepciones: blit() y las rutinas de rotaci�n puede copiar entren bitmaps de cualquier formato, convirtiendo los datos cuando se requiera, draw_sprite() puede dibujar im�genes origen de 256 colores en destion de cualquier formato, draw_character() _siempre_ usa un bitmap origen de 256 colores, sea cual sea el formato de destino, las funciones draw_trans_sprite() y draw_trans_rle_sprite() son capaces de dibujar im�genes de 32 bits RGBA en un destino hicolor o truecolor, siempre y cuando llame antes a set_alpha_blender(), y la funci�n draw_trans_sprite() es capaz de dibujar una imagen con 8 bits de canal alfa encima de una imagen ya existente de 32 bits, siempre y cuando llame antes a set_write_alpha_blender().
Expandir un bitmap origen de 256 colores en un bitmap destino truecolor es muy r�pido (�obviamente deber� ajustar la paleta de colores correcta antes de la conversi�n!). Convertir entre diferentes formatos truecolor es algo m�s lento, y reducir im�genes truecolor a 256 puede ser muy lento (puede acelerarse si crea una tabla global rgb_map antes de realizar la conversi�n).
int bestfit_color(const PALLETE pal, int r, int g, int b);
Busca en la paleta el valor m�s parecido al color requerido, que es
especificado en el formato hardware de la VGA 0-63. Normalmente deber�a
llamar makecol8() en vez de esto, pero esta funci�n de bajo nivel puede
ser �til si necesita usar una paleta de colores diferente a la
seleccionada, o si no quiere usar la tabla precalculada rgb_map a
prop�sito.
Relacionado con: makecol8.extern RGB_MAP *rgb_map;
typedef struct { unsigned char data[32][32][32]; } RGB_MAP;
Relacionado con: create_rgb_table, makecol8.void create_rgb_table(RGB_MAP *table, const PALETTE pal, void (*callback)(int pos));
Relacionado con: rgb_map.void hsv_to_rgb(float h, float s, float v, int *r, int *g, int *b);