颜色(Color)
构造器(Constructors)
lerp
在线性插值(linear interpolation)中按参数 t 在两个颜色之间插值。
当 t = 0 返回 from,t = 1 返回 to。
local black = Color.rgb(0, 0, 0)
local white = Color.rgb(255, 255, 255)
local t = 0.5
-- Linearly interpolate halfway between black and white
local gray = Color.lerp(black, white, t)
print(gray)
-- Returns a gray color between black and white
rgb
通过红、绿、蓝通道创建颜色。Alpha 默认为 255(完全不透明)。
通道值会被限制在 [0, 255]。
-- Red
self.color = Color.rgb(255, 0, 0)
rgba
通过红、绿、蓝、透明度通道创建颜色。
通道值会被限制在 [0, 255]。
-- Red at 50% opacity
self.color = Color.rgba(255, 0, 0, 128)
静态函数(Static Functions)
red
返回颜色的红色通道;若提供值则返回更新该通道后的新颜色。
local myColor = Color.rgba(128, 55, 12, 128)
local redChannel = Color.red(myColor)
print(redChannel)
-- 128
local newColor = Color.red(myColor, 200)
print(Color.red(newColor))
-- 200
green
返回绿色通道;若提供值则返回更新后的新颜色。
local myColor = Color.rgba(128, 55, 12, 128)
local greenChannel = Color.green(myColor)
print(greenChannel)
-- 55
local newColor = Color.green(myColor, 200)
print(Color.green(newColor))
-- 200
blue
返回蓝色通道;若提供值则返回更新后的新颜色。
local myColor = Color.rgba(128, 55, 12, 128)
local blueChannel = Color.blue(myColor)
print(blueChannel)
-- 12
local newColor = Color.blue(myColor, 200)
print(Color.blue(newColor))
-- 200
alpha
返回 alpha 通道;若提供值则返回设置该 alpha 后的新颜色。
值会被限制在 [0, 255]。
local myColor = Color.rgba(128, 55, 12, 128)
local alphaChannel = Color.alpha(myColor)
print(alphaChannel)
-- 128
local newColor = Color.alpha(myColor, 200)
print(Color.alpha(newColor))
-- 200
opacity
以 [0.0, 1.0] 返回颜色不透明度,或根据给定不透明度返回新颜色。
local myColor = Color.rgba(255, 0, 0, 128)
-- Get the opacity of a color
local myOpacity = Color.opacity(myColor)
print(myOpacity)
-- 0.5
-- Get a new color with the specified opacity
local newColor = Color.opacity(myColor, 1.0)
print(Color.opacity(newColor))
-- 1.0