al_map_rgba(3)

NAME

al_map_rgba - Allegro 5 API

SYNOPSIS

    #include <allegro5/allegro.h>
    ALLEGRO_COLOR al_map_rgba(
       unsigned char r, unsigned char g, unsigned char b, unsigned char a)

DESCRIPTION

Convert r, g, b, a (ranging from 0-255) into an ALLEGRO_COLOR(3).

By default Allegro uses pre-multiplied alpha for transparent blending of bitmaps and primitives (see al_load_bitmap_flags(3) for a discussion of that feature). This means that if you want to tint a bitmap or primitive to be transparent you need to multiply the color components by the alpha components when you pass them to this function. For example:

    int r = 255;
    int g = 0;
    int b = 0;
    int a = 127;
    ALLEGRO_COLOR c = al_map_rgba(r * a / 255, g * a / 255, b * a / 255, a);
    /* Draw the bitmap tinted red and half-transparent. */
    al_draw_tinted_bitmap(bmp, c, 0, 0, 0);

SEE ALSO

al_map_rgb(3), al_map_rgba_f(3), al_map_rgb_f(3)