跳到主要内容

颜色 (color)

结构体

struct color_t {
uint8_t r; /* 红 */
uint8_t g; /* 绿 */
uint8_t b; /* 蓝 */
uint8_t a; /* 透明度 */
};

像素格式为 32 位预乘 ARGB,native-endian。

API

函数说明
color_init(c, r, g, b, a)初始化颜色
color_init_string(c, s)从字符串解析颜色
color_random(c)生成随机颜色
color_get_premult(c)获取预乘 ARGB 值
color_set_premult(c, v)从预乘 ARGB 设置
color_luminance(c)计算亮度 (0.3R + 0.59G + 0.11B)
color_mix(c, a, b, weight)混合两种颜色
color_lighten(c, o, level)变亮
color_darken(c, o, level)变暗
color_level(c, o, level)电平调整 [-10, +10]
color_set_hsva(c, h, s, v, a)从 HSVA 设置 [0-1]
color_get_hsva(c, h, s, v, a)获取 HSVA [0-1]
color_premult_blend(dst, len, color, alpha)预乘混合

字符串解析格式

支持以下格式:

格式示例
#RGB#F00 = 红色
#RGBA#F008 = 半透明红
#RRGGBB#FF0000 = 红色
#RRGGBBAA#FF000080 = 半透明红
r,g,b,a255,0,0,128 = 半透明红
CSS 名称"red""blue"