Color in RGBA format with some support for ARGB format.
A color is represented as red, green and blue (r,g,b) components. Additionally, "a" represents the alpha component, often used for transparency. Values are in floating point and usually range from 0 to 1. Some methods (such as set_modulate(color)) may accept values > 1.
Constructs a color from an RGBA profile using values between 0 and 1 (float).
[codeblock]
var c = Color(0.2, 1.0, .7, .8) # a color of an RGBA(51, 255, 178, 204)
[/codeblock]
Constructs a color from an RGB profile using values between 0 and 1 (float). Alpha will always be 1.
[codeblock]
var c = Color(0.2, 1.0, .7) # a color of an RGBA(51, 255, 178, 255)
[/codeblock]
Constructs a color from a 32-bit integer (each byte represents a component of the RGBA profile).
[codeblock]
var c = Color(274) # a color of an RGBA(0, 0, 1, 18)
[/codeblock]
Constructs a color from an HTML hexadecimal color string in ARGB or RGB format.
The following string formats are supported:
[code]"#ff00ff00"[/code] - ARGB format with '#'
[code]"ff00ff00"[/code] - ARGB format
[code]"#ff00ff"[/code] - RGB format with '#'
[code]"ff00ff"[/code] - RGB format
[codeblock]
# The following code creates the same color of an RGBA(178, 217, 10, 255)
var c1 = Color("#ffb2d90a") # ARGB format with '#'
var c2 = Color("ffb2d90a") # ARGB format
var c3 = Color("#b2d90a") # RGB format with '#'
var c4 = Color("b2d90a") # RGB format
[/codeblock]
Returns a new color resulting from blending this color over another color. If the color is opaque, the result would also be opaque. The other color could then take a range of values with different alpha values.
[codeblock]
var bg = Color(0.0, 1.0, 0.0, 0.5) # Green with alpha of 50%
var fg = Color(1.0, 0.0, 0.0, .5) # Red with alpha of 50%
var blendedColor = bg.blend(fg) # Brown with alpha of 75%
[/codeblock]
Returns the most contrasting color.
[codeblock]
var c = Color(.3, .4, .9)
var contrastedColor = c.contrasted() # a color of an RGBA(204, 229, 102, 255)
[/codeblock]
Returns a new color resulting from making this color darker by the specified percentage (0-1).
[codeblock]
var green = Color(0.0, 1.0, 0.0)
var darkgreen = green.darkened(0.2) # 20% darker than regular green
[/codeblock]
Returns the color's grayscale.
The gray is calculated by (r + g + b) / 3.
[codeblock]
var c = Color(0.2, 0.45, 0.82)
var gray = c.gray() # a value of 0.466667
[/codeblock]
Returns the inverted color (1-r, 1-g, 1-b, 1-a).
[codeblock]
var c = Color(.3, .4, .9)
var invertedColor = c.inverted() # a color of an RGBA(178, 153, 26, 255)
[/codeblock]
Returns a new color resulting from making this color lighter by the specified percentage (0-1).
[codeblock]
var green = Color(0.0, 1.0, 0.0)
var lightgreen = green.lightened(0.2) # 20% lighter than regular green
[/codeblock]
Returns the color of the linear interpolation with another color. The value t is between 0 and 1 (float).
[codeblock]
var c1 = Color(1.0, 0.0, 0.0)
var c2 = Color(0.0, 1.0, 0.0)
var li_c = c1.linear_interpolate(c2, 0.5) # a color of an RGBA(128, 128, 0, 255)
[/codeblock]
Returns the color's 32-bit integer in ARGB format (each byte represents a component of the ARGB profile). More compatible with DirectX.
[codeblock]
var c = Color(1, .5, .2)
print(str(c.to_32())) # prints 4294934323
[/codeblock]
Returns the color's HTML hexadecimal color string in ARGB format (ex: [code]ff34f822[/code]).
Optionally flag 'false' to not include alpha in hexadecimal string.
[codeblock]
var c = Color(1, 1, 1, .5)
var s1 = c.to_html() # Results "7fffffff"
var s2 = c.to_html(false) # Results 'ffffff'
[/codeblock]
Returns the color's 32-bit integer in ARGB format (each byte represents a component of the ARGB profile).
[codeblock]
var c = Color(1, .5, .2)
print(str(c.to_32())) # prints 4294934323
[/codeblock]
[i]This is same as [method to_ARGB32] but may be changed later to support RGBA format instead[/i].
Alpha (0 to 1)
Alpha (0 to 255)
Blue (0 to 1)
Blue (0 to 255)
Green (0 to 1)
Green (0 to 255)
Hue (0 to 1)
Red (0 to 1)
Red (0 to 255)
Saturation (0 to 1)
Value (0 to 1)