![]() |
![]() |
![]() |
GIMP Color Library Reference Manual | ![]() |
---|---|---|---|---|
Top | Description |
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
); gboolean gimp_rgb_parse_name (GimpRGB *rgb
,const gchar *name
,gint len
); gboolean gimp_rgb_parse_hex (GimpRGB *rgb
,const gchar *hex
,gint len
); gboolean gimp_rgb_parse_css (GimpRGB *rgb
,const gchar *css
,gint len
); gint gimp_rgb_list_names (const gchar ***names
,GimpRGB **colors
); 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_luminance (const GimpRGB *rgb
); guchar gimp_rgb_luminance_uchar (const GimpRGB *rgb
); 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
); gboolean gimp_rgba_parse_css (GimpRGB *rgba
,const gchar *css
,gint len
); 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_LUMINANCE (r, g, b) #define GIMP_RGB_LUMINANCE_RED #define GIMP_RGB_LUMINANCE_GREEN #define GIMP_RGB_LUMINANCE_BLUE #define GIMP_RGB_INTENSITY (r, g, b) #define GIMP_RGB_INTENSITY_RED #define GIMP_RGB_INTENSITY_GREEN #define GIMP_RGB_INTENSITY_BLUE #define GIMP_TYPE_RGB #define GIMP_TYPE_PARAM_RGB GParamSpec * gimp_param_spec_rgb (const gchar *name
,const gchar *nick
,const gchar *blurb
,gboolean has_alpha
,const GimpRGB *default_value
,GParamFlags flags
); gboolean gimp_param_spec_rgb_has_alpha (GParamSpec *pspec
); #define GIMP_VALUE_HOLDS_RGB (value) void gimp_value_get_rgb (const GValue *value
,GimpRGB *rgb
); void gimp_value_set_rgb (GValue *value
,const GimpRGB *rgb
);
struct GimpRGB { gdouble r, g, b, a; };
Used to keep RGB and RGBA colors. All components are in a range of [0.0..1.0].
typedef enum { GIMP_RGB_COMPOSITE_NONE = 0, GIMP_RGB_COMPOSITE_NORMAL, GIMP_RGB_COMPOSITE_BEHIND } GimpRGBCompositeMode;
void gimp_rgb_set (GimpRGB *rgb
,gdouble red
,gdouble green
,gdouble blue
);
Sets the red, green and blue components of rgb
from the color
stored in pixel
. The pixel format of pixel
is determined by
format
.
|
a GimpRGB struct |
Since GIMP 2.10
void gimp_rgb_set_alpha (GimpRGB *rgb
,gdouble alpha
);
Sets the alpha component of rgb
and leaves the RGB components unchanged.
|
a GimpRGB struct |
|
the alpha component |
void gimp_rgb_set_uchar (GimpRGB *rgb
,guchar red
,guchar green
,guchar blue
);
Sets the red, green and blue components of rgb
from 8bit values
(0 to 255) and leaves the alpha component unchanged.
|
a GimpRGB struct |
|
the red component |
|
the green component |
|
the blue component |
void gimp_rgb_get_uchar (const GimpRGB *rgb
,guchar *red
,guchar *green
,guchar *blue
);
gboolean gimp_rgb_parse_name (GimpRGB *rgb
,const gchar *name
,gint len
);
Attempts to parse a color name. This function accepts SVG 1.0 color keywords.
This function does not touch the alpha component of rgb
.
|
a GimpRGB struct used to return the parsed color |
|
a color name (in UTF-8 encoding) |
|
the length of name , in bytes. or -1 if name is nul-terminated |
Returns : |
TRUE if name was parsed successfully and rgb has
been set, FALSE otherwise |
Since GIMP 2.2
gboolean gimp_rgb_parse_hex (GimpRGB *rgb
,const gchar *hex
,gint len
);
Attempts to parse a string describing an RGB color in hexadecimal notation (optionally prefixed with a '#').
This function does not touch the alpha component of rgb
.
|
a GimpRGB struct used to return the parsed color |
|
a string describing a color in hexadecimal notation |
|
the length of hex , in bytes. or -1 if hex is nul-terminated |
Returns : |
TRUE if hex was parsed successfully and rgb has
been set, FALSE otherwise |
Since GIMP 2.2
gboolean gimp_rgb_parse_css (GimpRGB *rgb
,const gchar *css
,gint len
);
Attempts to parse a string describing an RGB color in CSS
notation. This can be either a numerical representation
(rgb(255,0,0)
or rgb(100%,0%,0%)
)
or a hexadecimal notation as parsed by gimp_rgb_parse_hex()
(#ff0000
) or a color name as parsed by
gimp_rgb_parse_name()
(red
).
This function does not touch the alpha component of rgb
.
|
a GimpRGB struct used to return the parsed color |
|
a string describing a color in CSS notation |
|
the length of hex , in bytes. or -1 if hex is nul-terminated |
Returns : |
TRUE if css was parsed successfully and rgb has been
set, FALSE otherwise |
Since GIMP 2.2
gint gimp_rgb_list_names (const gchar ***names
,GimpRGB **colors
);
Returns the list of SVG 1.0 color
keywords that is used by gimp_rgb_parse_name()
.
The returned strings are const and must not be freed. Only the two
arrays are allocated dynamically. You must call g_free()
on the
names
and colors
arrays when they are not any longer needed.
|
return location for an array of color names |
|
return location for an array of GimpRGB structs |
Returns : |
the number of named colors (i.e. the length of the returned arrays) |
Since GIMP 2.2
gdouble gimp_rgb_luminance (const GimpRGB *rgb
);
|
a GimpRGB struct |
Returns : |
the luminous intensity of the range from 0.0 to 1.0. |
Since GIMP 2.4
guchar gimp_rgb_luminance_uchar (const GimpRGB *rgb
);
|
a GimpRGB struct |
Returns : |
the luminous intensity in the range from 0 to 255. |
Since GIMP 2.4
gdouble gimp_rgb_intensity (const GimpRGB *rgb
);
This function is deprecated! Use gimp_rgb_luminance()
instead.
|
a GimpRGB struct |
Returns : |
the intensity in the range from 0.0 to 1.0. |
guchar gimp_rgb_intensity_uchar (const GimpRGB *rgb
);
This function is deprecated! Use gimp_rgb_luminance_uchar()
instead.
|
a GimpRGB struct |
Returns : |
the intensity in the range from 0 to 255. |
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
);
Sets the red, green, blue and alpha components of rgb
. The values
should be between 0.0 and 1.0 but there is no check to enforce this
and the values are set exactly as they are passed in.
|
a GimpRGB struct |
|
the red component |
|
the green component |
|
the blue component |
|
the alpha component |
Since GIMP 2.10
void gimp_rgba_set_uchar (GimpRGB *rgba
,guchar red
,guchar green
,guchar blue
,guchar alpha
);
Sets the red, green, blue and alpha components of rgb
from 8bit
values (0 to 255).
|
a GimpRGB struct |
|
the red component |
|
the green component |
|
the blue component |
|
the alpha component |
void gimp_rgba_get_uchar (const GimpRGB *rgba
,guchar *red
,guchar *green
,guchar *blue
,guchar *alpha
);
gboolean gimp_rgba_parse_css (GimpRGB *rgba
,const gchar *css
,gint len
);
Similar to gimp_rgb_parse_css()
but handles RGB colors with alpha
channel in the numerical CSS notation (rgba(255,0,0,255)
or rgba(100%,0%,0%,1000%)
).
It doesn't handle the hexadecimal notation or color names because they leave the alpha channel unspecified.
|
a GimpRGB struct used to return the parsed color |
|
a string describing a color in CSS notation |
|
the length of hex , in bytes. or -1 if hex is nul-terminated |
Returns : |
TRUE if css was parsed successfully and rgb has been
set, FALSE otherwise |
Since GIMP 2.2
#define GIMP_RGB_INTENSITY(r,g,b)
GIMP_RGB_INTENSITY
is deprecated and should not be used in newly-written code.
#define GIMP_RGB_INTENSITY_RED (0.30)
GIMP_RGB_INTENSITY_RED
is deprecated and should not be used in newly-written code.
#define GIMP_RGB_INTENSITY_GREEN (0.59)
GIMP_RGB_INTENSITY_GREEN
is deprecated and should not be used in newly-written code.
#define GIMP_RGB_INTENSITY_BLUE (0.11)
GIMP_RGB_INTENSITY_BLUE
is deprecated and should not be used in newly-written code.
GParamSpec * gimp_param_spec_rgb (const gchar *name
,const gchar *nick
,const gchar *blurb
,gboolean has_alpha
,const GimpRGB *default_value
,GParamFlags flags
);
Creates a param spec to hold an GimpRGB value.
See g_param_spec_internal()
for more information.
|
Canonical name of the param |
|
Nickname of the param |
|
Brief desciption of param. |
|
TRUE if the alpha channel has relevance. |
|
Value to use if none is assigned. |
|
a combination of GParamFlags |
Returns : |
a newly allocated GParamSpec instance |
Since GIMP 2.4
gboolean gimp_param_spec_rgb_has_alpha (GParamSpec *pspec
);
|
a GParamSpec to hold an GimpRGB value. |
Returns : |
TRUE if the alpha channel is relevant. |
Since GIMP 2.4
#define GIMP_VALUE_HOLDS_RGB(value) (G_TYPE_CHECK_VALUE_TYPE ((value), GIMP_TYPE_RGB))