GimpRGB

GimpRGB —

Synopsis




struct      GimpRGB;
enum        GimpRGBCompositeMode;
void        gimp_rgb_set                    (GimpRGB *rgb,
                                             gdouble red,
                                             gdouble green,
                                             gdouble blue);
void        gimp_rgb_set_alpha              (GimpRGB *rgb,
                                             gdouble alpha);
void        gimp_rgb_set_uchar              (GimpRGB *rgb,
                                             guchar red,
                                             guchar green,
                                             guchar blue);
void        gimp_rgb_get_uchar              (const GimpRGB *rgb,
                                             guchar *red,
                                             guchar *green,
                                             guchar *blue);
void        gimp_rgb_add                    (GimpRGB *rgb1,
                                             const GimpRGB *rgb2);
void        gimp_rgb_subtract               (GimpRGB *rgb1,
                                             const GimpRGB *rgb2);
void        gimp_rgb_multiply               (GimpRGB *rgb1,
                                             gdouble factor);
gdouble     gimp_rgb_distance               (const GimpRGB *rgb1,
                                             const GimpRGB *rgb2);
gdouble     gimp_rgb_max                    (const GimpRGB *rgb);
gdouble     gimp_rgb_min                    (const GimpRGB *rgb);
void        gimp_rgb_clamp                  (GimpRGB *rgb);
void        gimp_rgb_gamma                  (GimpRGB *rgb,
                                             gdouble gamma);
gdouble     gimp_rgb_intensity              (const GimpRGB *rgb);
guchar      gimp_rgb_intensity_uchar        (const GimpRGB *rgb);
void        gimp_rgb_composite              (GimpRGB *color1,
                                             const GimpRGB *color2,
                                             GimpRGBCompositeMode mode);
void        gimp_rgba_set                   (GimpRGB *rgba,
                                             gdouble red,
                                             gdouble green,
                                             gdouble blue,
                                             gdouble alpha);
void        gimp_rgba_set_uchar             (GimpRGB *rgba,
                                             guchar red,
                                             guchar green,
                                             guchar blue,
                                             guchar alpha);
void        gimp_rgba_get_uchar             (const GimpRGB *rgba,
                                             guchar *red,
                                             guchar *green,
                                             guchar *blue,
                                             guchar *alpha);
void        gimp_rgba_add                   (GimpRGB *rgba1,
                                             const GimpRGB *rgba2);
void        gimp_rgba_subtract              (GimpRGB *rgba1,
                                             const GimpRGB *rgba2);
void        gimp_rgba_multiply              (GimpRGB *rgba,
                                             gdouble factor);
gdouble     gimp_rgba_distance              (const GimpRGB *rgba1,
                                             const GimpRGB *rgba2);
#define     GIMP_RGB_INTENSITY              (r,g,b)
#define     GIMP_RGB_INTENSITY_RED
#define     GIMP_RGB_INTENSITY_GREEN
#define     GIMP_RGB_INTENSITY_BLUE

Description

Details

struct GimpRGB

struct GimpRGB {

  gdouble r, g, b, a;
};


enum GimpRGBCompositeMode

typedef enum
{
  GIMP_RGB_COMPOSITE_NONE = 0,
  GIMP_RGB_COMPOSITE_NORMAL,
  GIMP_RGB_COMPOSITE_BEHIND
} GimpRGBCompositeMode;


gimp_rgb_set ()

void        gimp_rgb_set                    (GimpRGB *rgb,
                                             gdouble red,
                                             gdouble green,
                                             gdouble blue);

rgb :
red :
green :
blue :

gimp_rgb_set_alpha ()

void        gimp_rgb_set_alpha              (GimpRGB *rgb,
                                             gdouble alpha);

rgb :
alpha :

gimp_rgb_set_uchar ()

void        gimp_rgb_set_uchar              (GimpRGB *rgb,
                                             guchar red,
                                             guchar green,
                                             guchar blue);

rgb :
red :
green :
blue :

gimp_rgb_get_uchar ()

void        gimp_rgb_get_uchar              (const GimpRGB *rgb,
                                             guchar *red,
                                             guchar *green,
                                             guchar *blue);

rgb :
red :
green :
blue :

gimp_rgb_add ()

void        gimp_rgb_add                    (GimpRGB *rgb1,
                                             const GimpRGB *rgb2);

rgb1 :
rgb2 :

gimp_rgb_subtract ()

void        gimp_rgb_subtract               (GimpRGB *rgb1,
                                             const GimpRGB *rgb2);

rgb1 :
rgb2 :

gimp_rgb_multiply ()

void        gimp_rgb_multiply               (GimpRGB *rgb1,
                                             gdouble factor);

rgb1 :
factor :

gimp_rgb_distance ()

gdouble     gimp_rgb_distance               (const GimpRGB *rgb1,
                                             const GimpRGB *rgb2);

rgb1 :
rgb2 :
Returns :

gimp_rgb_max ()

gdouble     gimp_rgb_max                    (const GimpRGB *rgb);

rgb :
Returns :

gimp_rgb_min ()

gdouble     gimp_rgb_min                    (const GimpRGB *rgb);

rgb :
Returns :

gimp_rgb_clamp ()

void        gimp_rgb_clamp                  (GimpRGB *rgb);

rgb :

gimp_rgb_gamma ()

void        gimp_rgb_gamma                  (GimpRGB *rgb,
                                             gdouble gamma);

rgb :
gamma :

gimp_rgb_intensity ()

gdouble     gimp_rgb_intensity              (const GimpRGB *rgb);

rgb :
Returns :

gimp_rgb_intensity_uchar ()

guchar      gimp_rgb_intensity_uchar        (const GimpRGB *rgb);

rgb :
Returns :

gimp_rgb_composite ()

void        gimp_rgb_composite              (GimpRGB *color1,
                                             const GimpRGB *color2,
                                             GimpRGBCompositeMode mode);

color1 :
color2 :
mode :

gimp_rgba_set ()

void        gimp_rgba_set                   (GimpRGB *rgba,
                                             gdouble red,
                                             gdouble green,
                                             gdouble blue,
                                             gdouble alpha);

rgba :
red :
green :
blue :
alpha :

gimp_rgba_set_uchar ()

void        gimp_rgba_set_uchar             (GimpRGB *rgba,
                                             guchar red,
                                             guchar green,
                                             guchar blue,
                                             guchar alpha);

rgba :
red :
green :
blue :
alpha :

gimp_rgba_get_uchar ()

void        gimp_rgba_get_uchar             (const GimpRGB *rgba,
                                             guchar *red,
                                             guchar *green,
                                             guchar *blue,
                                             guchar *alpha);

rgba :
red :
green :
blue :
alpha :

gimp_rgba_add ()

void        gimp_rgba_add                   (GimpRGB *rgba1,
                                             const GimpRGB *rgba2);

rgba1 :
rgba2 :

gimp_rgba_subtract ()

void        gimp_rgba_subtract              (GimpRGB *rgba1,
                                             const GimpRGB *rgba2);

rgba1 :
rgba2 :

gimp_rgba_multiply ()

void        gimp_rgba_multiply              (GimpRGB *rgba,
                                             gdouble factor);

rgba :
factor :

gimp_rgba_distance ()

gdouble     gimp_rgba_distance              (const GimpRGB *rgba1,
                                             const GimpRGB *rgba2);

rgba1 :
rgba2 :
Returns :

GIMP_RGB_INTENSITY()

#define     GIMP_RGB_INTENSITY(r,g,b)

This macro calculates the intensity of an RGB value based on coefficients taken from the NTSC analog television standard.

r :red
g :green
b :blue

GIMP_RGB_INTENSITY_RED

#define GIMP_RGB_INTENSITY_RED    0.30


GIMP_RGB_INTENSITY_GREEN

#define GIMP_RGB_INTENSITY_GREEN  0.59


GIMP_RGB_INTENSITY_BLUE

#define GIMP_RGB_INTENSITY_BLUE   0.11