The libart library
<<< Previous Page | Home | Up | Next Page >>>

# Art Alpha Gamma Stuff

## Name

Art Alpha Gamma Stuff -- Gamma-correct your image data.

## Synopsis

    struct      ArtAlphaGamma;
    ArtAlphaGamma* art_alphagamma_new           (double gamma);
    void        art_alphagamma_free             (ArtAlphaGamma *alphagamma);

## Description

## Details

### struct ArtAlphaGamma

    struct ArtAlphaGamma {
      /*< private >*/
      double gamma;
      int invtable_size;
      int table[256];
      art_u8 invtable[1];
    };

### art_alphagamma_new ()

    ArtAlphaGamma* art_alphagamma_new           (double gamma);

Create a new ArtAlphaGamma for a specific value of `gamma`. When correctly implemented (which is generally not the case in libart), alpha compositing with an alphagamma parameter is equivalent to applying the gamma transformation to source images, doing the alpha compositing (in linear intensity space), then applying the inverse gamma transformation, bringing it back to a gamma-adjusted intensity space.

`gamma` : | Gamma value.
Returns : | The newly created ArtAlphaGamma.

### art_alphagamma_free ()

    void        art_alphagamma_free             (ArtAlphaGamma *alphagamma);

Frees the ArtAlphaGamma.

`alphagamma` : | An ArtAlphaGamma.

<<< Previous Page | Home | Up | Next Page >>>
Affine transformation matrices | Construction APIs