Color
Color is a utility module for color manipulation and gradient creation in Weo.
It provides functions to convert between RGBA, HEX, and LuaRT-compatible color values, and to generate linear or radial gradients for UI elements.
Color Utility
Functions
Color.fromRGBA() Function
Color.fromRGBA(r, g, b, a)
- Creates a color from RGBA components. Parameters:
r,g,b,anumber- Red, green, blue, and alpha values (0-255).
Returns:
numbernumber- The created color value.
Color.fromHEX() Function
Color.fromHEX(hex)
- Creates a color from a HEX string.
Adds full alpha (
FF) if missing.
Returns a random color if input is invalid.
Parameters:
hexstring- The input HEX string.
Returns:
numbernumber- The created color value.
Color.toLuaRTUnderstand() Function
Color.toLuaRTUnderstand(color)
- Converts a color value to a LuaRT-compatible number.
- If input is already a number, returns it unchanged.
Parameters:
colornumber- The input color value.
Returns:
numbernumber?- The converted color value.
Color.LinearGradient() Function
Color.LinearGradient(Element, Colors, StartPoint, EndPoint, Opacity)
- Creates a linear gradient for a UI element.
Parameters:
Elementany- The UI element to apply the gradient to.
Colorstable- Table mapping positions
[0-1]to color values.
- Table mapping positions
StartPoint,EndPointVector2- Normalized start and end points (Vector2).
Opacitynumber?- Optional, defaults to 1.
- Gradient coordinates are automatically transformed relative to the element’s absolute position.
Returns:
LinearGradientLinearGradient- The created gradient object.
Color.RadialGradient() Function
Color.RadialGradient(Element, Colors, Center, Radius, Opacity)
- Creates a radial gradient for a UI element.
Parameters:
Elementany- The UI element to apply the gradient to.
Colorstable- Table mapping positions
[0-1]to color values.
- Table mapping positions
Center,RadiusVector2- Normalized center and radius (Vector2).
Opacitynumber?- Optional, defaults to 1.
- Gradient coordinates are automatically transformed relative to the element’s absolute position.
Returns:
RadialGradientRadialGradient- The created gradient object.
Example
local myLGradient = Color.LinearGradient(myElement, { [0] = Color.fromHEX("#FF0000FF"), [0.5] = Color.fromHEX("#00FF00FF"), [1] = Color.fromHEX("#0000FFFF") }, Vector2.new(0, 0), Vector2.new(1, 1))
local myRGradient = Color.RadialGradient(myElement, { [0] = Color.fromHEX("#FF0000FF"), [0.5] = Color.fromHEX("#00FF00FF"), [1] = Color.fromHEX("#0000FFFF") }, Vector2.new(0.5, 0.5), Vector2.new(0.5, 0.5))
local myRGBA = Color.fromRGBA(255, 0, 0, 255)
local myHEX = Color.fromHEX("#FF0000FF")
local myColor = Color.toLuaRTUnderstand(myHEX)