Color
Defines a 32-bit color — with four components for R,G,B,A. The value for each component must be between 0 and 255. The fourth component "A", is optional. If not specified, the default value of "A" is 255.
Each component represents a channel of color:
- R — controls the quantity of red in the color.
- G — controls the quantity of green in the color.
- B — controls the quantity of blue in the color.
- A — controls the transparency of the color.
Constructor
Color.new
Creates a new Color with the given r, g, b and a values.
Example
-- Assigns a Color, where R=255, G=0, B=255, A=255, and assigns to the color to the variable "a"
local a = Color.new(255, 0, 0, 255)
local b = Color.new(255, 0, 0)
local c = Color.new()
print(a) -- Prints '(255, 0, 0, 255)'
print(b) -- Prints '(255, 0, 0, 255)'
print(c) -- Prints '(0, 0, 0, 255)'
Properties
r
The red (R) component of the Color.
Example
local myColor = Color.new(255, 175, 100, 255)
print(myColor.r) -- Prints '255'
g
The green (G) component of the Color.
Example
local myColor = Color.new(255, 175, 100, 255)
print(myColor.g) -- Prints '175'
b
The blue (B) component of the Color.
Example
local myColor = Color.new(255, 175, 100, 255)
print(myColor.b) -- Prints '100'
a
The alpha (A) component of the Color.
Example
local myColor = Color.new(255, 175, 100, 255)
print(myColor.a) -- Prints '255'
Functions
lerp(from, to, t)
Returns a Color where the value of each component is linearly interpolated
from the input colors, by the value specified in t
(which should be between 0
and 1).
Example
local a = Color.new(240, 0, 0)
local b = Color.new(0, 240, 0)
print(Color.lerp(a, b, 0.5)) -- Prints '(120, 120, 0)'
parse(colorHex)
Returns a Color from the color hex string provided in the input.
Example
print(Color.parse('#ffff00')) -- Prints '(255, 255, 0, 255)'
Math Operations
Color + Color
Adds each of the components of the colors.
Example
local a = Color.new(255, 0, 0)
local b = Color.new(0, 255, 0)
print(a + b) -- Prints '(255, 255, 0, 255)'
Color - Color
Subtracts each of the components of the colors.
Example
local a = Color.new(255, 0, 0, 255)
local b = Color.new(125, 0, 0, 0)
print(a - b) -- Prints '(130, 0, 0, 255)'
Color * number
Multiplies each of the components of the Color by the number.
Example
local a = Color.new(70, 0, 0, 255)
print(a * 3) -- Prints '(210, 0, 0, 765)'
Color * Color
Multiplies each of the components of the first Color by the respective component on the second Color.
Example
local a = Color.new(100, 0, 100, 255)
local b = Color.new(0, 255, 2, 1)
print(a * b) -- Prints '(0, 0, 200, 255)'
Color / number
Divides each of the components of the Color by the number.
Example
local a = Color.new(240, 0, 0, 120)
print(a / 3) -- Prints '(80, 0, 0, 40)'
Color / Color
Divides each of the components of the first Color by the respective component on the second Color.
Example
local a = Color.new(100, 255, 100, 255)
local b = Color.new(1, 255, 2, 1)
print(a / b) -- Prints '(100, 1, 50, 255)'
Constants
Color.black
Returns the color "black" i.e. (0, 0, 0, 255)
Color.blue
Returns the color "blue" i.e. (0, 0, 255, 255)
Color.clear
Returns the color "clear" (a.k.a "transparent") i.e. (0, 0, 0, 0)
Color.cyan
Returns the color "cyan" i.e. (0, 255, 255, 255)
Color.gray
Returns the color "gray" i.e. (125, 125, 125, 255)
Color.green
Returns the color "green" i.e. (0, 255, 0, 255)
Color.magenta
Returns the color "magenta" i.e. (255, 0, 255, 255)
Color.red
Returns the color "red" i.e. (255, 0, 0, 255)
Color.white
Returns the color "white" i.e. (255, 255, 255, 255)
Color.yellow
Returns the color "yellow" i.e. (255, 234, 4, 255)