A colour is an object representing a combination of Red, Green, and Blue (RGB
) intensity values and an Alpha value, and is used to determine drawing colours.
See the entry for wx.ColourDatabase for how a pointer to a predefined, named colour may be returned instead of creating a new colour.
Valid RGB
values are in the range 0 to 255.
You can retrieve the current system colour settings with wx.SystemSettings.
Note that this class provides pairs of functions for each of the colour channels, i.e. red, green, blue and alpha values. The one word functions Red
, Green
, Blue
and Alpha
return the values of type unsigned
char
, while GetRed
, GetGreen
, GetBlue
and GetAlpha
returns the same value as unsigned
int
. According to the C++ integer promotion rules, the result of any arithmetic expression involving the former will be (signed) int
, while that of the latter will be unsigned
, which is what would be commonly expected, so the latter family of functions should be typically preferred (but they are only available since wxWidgets 3.1.6).
See also
wx.ColourDatabase, wx.Pen, wx.Brush, wx.ColourDialog, wx.SystemSettings
Default constructor. |
|
Returns the alpha value, on platforms where alpha is not yet supported, this always returns |
|
Blend colour, taking alpha into account. |
|
Returns the blue intensity. |
|
wx.Colour wrapper for ChangeLightness(r,g,b,ialpha). |
|
Returns the |
|
Returns the alpha value, on platforms where alpha is not yet supported, this always returns |
|
Converts this colour to a String using the given flags. |
|
Returns the blue intensity as int. |
|
Returns the green intensity as int. |
|
Returns an immutable representation of the |
|
Return the perceived brightness of the colour. |
|
Gets the |
|
Gets the |
|
Returns the red intensity as int. |
|
Returns the green intensity. |
|
Returns |
|
Returns |
|
Make a disabled version of this colour. |
|
Create a grey colour from (in/out) rgb parameters using integer arithmetic. |
|
Assigns the same value to r, g, b: 0 if on is |
|
Returns the red intensity. |
|
Sets the |
|
Sets the |
|
Sets the |
|
For internal use only. |
|
Tests the inequality of two colours by comparing individual red, green, blue intensities and alpha values. |
|
Tests the equality of two colours by comparing individual red, green, blue intensities and alpha values. |
See |
|
See |
|
See |
|
See |
|
See |
Possible constructors:
Colour() -> None
Colour(red : int, green : int, blue : int, alpha: int=ALPHA_OPAQUE) ->
None
Colour(colRGB : int) -> None
Colour(colour : Colour) -> None
A colour is an object representing a combination of Red, Green, and
Blue (RGB
) intensity values and an Alpha value, and is used to
determine drawing colours.
__init__ (self)
Default constructor.
None
__init__ (self, red : int, green : int, blue : int, alpha: int=ALPHA_OPAQUE)
red (int) – The red value.
green (int) – The green value.
blue (int) – The blue value.
alpha (int) – The alpha value. Alpha values range from 0 (wx``wx.ALPHA_TRANSPARENT``) to 255 (wx``wx.ALPHA_OPAQUE``).
None
__init__ (self, colRGB : int)
colRGB (long) – A packed RGB
value.
None
__init__ (self, colour : Colour)
Copy constructor.
colour (wx.Colour)
None
Returns the alpha value, on platforms where alpha is not yet supported, this always returns wx.ALPHA_OPAQUE
.
int
See also
Blend colour, taking alpha into account.
fg (int)
bg (int)
alpha (float)
int
Added in version 2.9.0.
ChangeLightness (self, ialpha : int)
wx.Colour wrapper for ChangeLightness(r,g,b,ialpha).
ialpha (int)
Added in version 2.9.0.
ChangeLightness (r : int, g : int, b : int, ialpha : int)
Utility function that simply darkens or lightens a color, based on the specified percentage ialpha.
ialpha of 0 would be make the color completely black, 200 completely white and 100 would not change the color.
r (int)
g (int)
b (int)
ialpha (int)
Tuple[int, int, int]
Added in version 2.9.0.
Returns the
RGB
intensity values as a tuple, optionally the alpha value as well.
tuple
( r, g, b) or (r, g, b, a )
Returns the alpha value, on platforms where alpha is not yet supported, this always returns wx.ALPHA_OPAQUE
.
int
Added in version 4.1/wxWidgets-3.1.6.
Converts this colour to a String using the given flags.
The supported flags are C2S_NAME
, to obtain the colour name (e.g. wx.Colour == “red”), C2S_CSS_SYNTAX
, to obtain the colour in the “rgb(r,g,b)” or “rgba(r,g,b,a)” syntax (e.g. wx.Colour == “rgba(255,0,0,0.333)”), and C2S_HTML_SYNTAX
, to obtain the colour as “#” followed by 6 hexadecimal digits (e.g. wx.Colour == “#``FF0000``”).
This function returns empty string if the colour is not initialized (see IsOk
). Otherwise, the returned string is always non-empty, but the function asserts if the colour has alpha channel (i.e. is non opaque) but C2S_CSS_SYNTAX
(which is the only one supporting alpha) is not specified in flags.
flags (long)
str
Added in version 2.7.0.
Note
For non-solid (i.e. non-RGB) colour this function returns “rgb(??, ?? ??)” or “#??????”.
Returns the blue intensity as int.
int
Added in version 4.1/wxWidgets-3.1.6.
Returns the green intensity as int.
int
Added in version 4.1/wxWidgets-3.1.6.
Returns an immutable representation of the wx.Colour
object, based on namedtuple
.
This new object is hashable and can be used as a dictionary key,
be added to sets, etc. It can be converted back into a real wx.Colour
with a simple statement like this: obj = wx.Colour(imObj)
.
Return the perceived brightness of the colour.
This value is computed using the simple:
( 0.299*R + 0.587*G + 0.114*B )
formula with the coefficients taken from the RGB
to YIQ
conversion formula and R
, G
and B
being the values of the corresponding colour channels normalized to 0..1 range, so that the return value is 0 for black and 1 for white.
float
Added in version 4.1/wxWidgets-3.1.3.
wx.IntPtr
Gets the RGB
or RGBA
colour values as a single 32 bit value.
The returned value is of the same form as expected by SetRGB
and SetRGBA
.
Notice that GetRGB
returns the value with 0 as its highest byte independently of the value actually returned by Alpha
. So for a fully opaque colour, the return value of GetRGBA
is 0xFFBBGGRR
while that of GetRGB
is 0x00BBGGRR
.
wx.int
Added in version 2.9.1.
Gets the RGB
or RGBA
colour values as a single 32 bit value.
The returned value is of the same form as expected by SetRGB
and SetRGBA
.
Notice that GetRGB
returns the value with 0 as its highest byte independently of the value actually returned by Alpha
. So for a fully opaque colour, the return value of GetRGBA
is 0xFFBBGGRR
while that of GetRGB
is 0x00BBGGRR
.
wx.int
Added in version 2.9.1.
Returns the red intensity as int.
int
Added in version 4.1/wxWidgets-3.1.6.
Returns True
if the colour object is valid (the colour has been initialised with RGB
values).
bool
Returns True
if the color can be described using RGB
values, i.e.
is solid, False
if it is a pattern (currently only possible on macOS)
bool
Added in version 4.1/wxWidgets-3.1.2.
MakeDisabled (self, brightness: int=255)
Make a disabled version of this colour.
This method modifies the object in place and returns the object itself.
brightness (int)
Added in version 2.9.5.
MakeDisabled (r : int, g : int, b : int, brightness: int=255)
Create a disabled (dimmed) colour from (in/out) rgb parameters.
r (int)
g (int)
b (int)
brightness (int)
Tuple[int, int, int]
Added in version 2.9.0.
MakeGrey (r : int, g : int, b : int)
Create a grey colour from (in/out) rgb parameters using integer arithmetic.
r (int)
g (int)
b (int)
Tuple[int, int, int]
Added in version 2.9.0.
MakeGrey (r : int, g : int, b : int, weight_r : float, weight_g : float, weight_b : float)
Create a grey colour from (in/out) rgb parameters using floating point arithmetic.
Defaults to using the standard ITU-T
BT.601 when converting to YUV
, where every pixel equals (R weight_r) + (G weight_g) + (B weight_b).
r (int)
g (int)
b (int)
weight_r (float)
weight_g (float)
weight_b (float)
Tuple[int, int, int]
Added in version 2.9.0.
Assigns the same value to r, g, b: 0 if on is false
, 255 otherwise.
on (bool)
Tuple[int, int, int]
Added in version 2.9.0.
Sets the RGB
intensity values using the given values (first overload), extracting them from the packed long (second overload), using the given string (third overload).
When using third form, Set
accepts: colour names (those listed in wx.ColourDatabase), the CSS-like "rgb(r,g,b)"
or "rgba(r,g,b,a)"
syntax (case insensitive) and the HTML-like syntax: "#"
followed by 6 hexadecimal digits for red, green, blue components.
Returns True
if the conversion was successful, False
otherwise.
Added in version 2.7.0.
Set (self, red : int, green : int, blue : int, alpha: int=ALPHA_OPAQUE)
red (int)
green (int)
blue (int)
alpha (int)
None
Set (self, RGB : int)
RGB (long)
None
Set (self, str : str)
str (string)
bool
Sets the RGB
or RGBA
colour values from a single 32 bit value.
The arguments colRGB and colRGBA should be of the form 0x00BBGGRR and 0xAABBGGRR respectively where 0xRR
, 0xGG
, 0xBB
and 0xAA
are the values of the red, green, blue and alpha components.
Notice the right-to-left order of components!
colRGB (wx.int)
None
Added in version 2.9.1.
Sets the RGB
or RGBA
colour values from a single 32 bit value.
The arguments colRGB and colRGBA should be of the form 0x00BBGGRR and 0xAABBGGRR respectively where 0xRR
, 0xGG
, 0xBB
and 0xAA
are the values of the red, green, blue and alpha components.
Notice the right-to-left order of components!
colRGBA (wx.int)
None
Added in version 2.9.1.
int
int
Tests the inequality of two colours by comparing individual red, green, blue intensities and alpha values.
colour (wx.Colour)
Tests the equality of two colours by comparing individual red, green, blue intensities and alpha values.
colour (wx.Colour)