|
|
constexpr | color () noexcept=default |
| | 默认构造函数,创建黑色(0,0,0,255)
|
| constexpr | color (const int gray) noexcept |
| | 从灰度值构造
|
| constexpr | color (const int gray, const int alpha) noexcept |
| | 从灰度值和透明度构造
|
| constexpr | color (const int red, const int green, const int blue) noexcept |
| | 从RGB分量构造
|
| constexpr | color (const int red, const int green, const int blue, const int alpha) noexcept |
| | 从RGBA分量构造
|
| NEFORCE_CONSTEXPR20 | color (const string_view str) |
| | 从十六进制字符串构造
|
| NEFORCE_CONSTEXPR20 | color (const string &str) |
| | 从字符串对象构造
|
| NEFORCE_CONSTEXPR20 | color (const char *str) |
| | 从C风格字符串构造
|
|
constexpr | color (color &&other) noexcept |
| | 移动构造函数
|
|
constexpr color & | operator= (color &&other) noexcept |
| | 移动赋值运算符
|
| constexpr int | R () const noexcept |
| | 获取红色分量
|
| constexpr int | G () const noexcept |
| | 获取绿色分量
|
| constexpr int | B () const noexcept |
| | 获取蓝色分量
|
| constexpr int | A () const noexcept |
| | 获取透明度
|
| constexpr void | setR (const int red) noexcept |
| | 设置红色分量
|
| constexpr void | setG (const int green) noexcept |
| | 设置绿色分量
|
| constexpr void | setB (const int blue) noexcept |
| | 设置蓝色分量
|
| constexpr void | setA (const int alpha) noexcept |
| | 设置透明度
|
| constexpr void | set_color (const int red, const int green, const int blue) noexcept |
| | 设置RGB颜色
|
| constexpr void | set_color (const int red, const int green, const int blue, const int alpha) noexcept |
| | 设置RGBA颜色
|
| constexpr void | set_gray (const int gray) noexcept |
| | 设置灰度值
|
| constexpr void | set_gray (const int gray, const int alpha) noexcept |
| | 设置灰度值和透明度
|
| constexpr bool | is_transparent () const noexcept |
| | 检查是否完全透明
|
| constexpr bool | is_opaque () const noexcept |
| | 检查是否完全不透明
|
| constexpr double | opacity () const noexcept |
| | 获取不透明度(0.0-1.0)
|
| constexpr void | set_opacity (double opacity) noexcept |
| | 设置不透明度
|
| constexpr color | operator+ (const color &other) const noexcept |
| | 颜色加法
|
| constexpr color | operator- (const color &other) const noexcept |
| | 颜色减法
|
| constexpr color | operator* (const double scalar) const noexcept |
| | 颜色乘以标量
|
| constexpr color | operator* (const int scalar) const noexcept |
| | 颜色乘以整数标量
|
| constexpr color & | operator+= (const color &other) noexcept |
| | 颜色加等赋值
|
| constexpr color & | operator-= (const color &other) noexcept |
| | 颜色减等赋值
|
| constexpr color & | operator*= (const double scalar) noexcept |
| | 颜色乘等赋值
|
| constexpr bool | operator== (const color &other) const noexcept |
| | 相等比较
|
| constexpr bool | operator< (const color &other) const noexcept |
| | 小于比较
|
| NEFORCE_NODISCARD constexpr color | blend (const color &background) const noexcept |
| | 将当前颜色与背景色混合
|
| NEFORCE_NODISCARD constexpr double | gray_value () const noexcept |
| | 计算灰度值
|
| NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 string | to_string () const |
| | 转换为十六进制字符串
|
| NEFORCE_NODISCARD constexpr int | to_ansi_256 () const noexcept |
| | 转换为256色ANSI颜色索引
|
| NEFORCE_NODISCARD constexpr int | to_ansi_basic (const bool is_background=false) const noexcept |
| | 转换为基本ANSI颜色代码
|
| NEFORCE_NODISCARD constexpr integer32 | to_ansi_foreground (const bool use_256_color=true) const noexcept |
| | 转换为ANSI前景色代码
|
| NEFORCE_NODISCARD constexpr integer32 | to_ansi_background (const bool use_256_color=true) const noexcept |
| | 转换为ANSI背景色代码
|
| NEFORCE_NODISCARD constexpr color | to_premultiplied () const noexcept |
| | 转换为标准预乘 Alpha 表示
|
| NEFORCE_NODISCARD constexpr color | from_premultiplied () const noexcept |
| | 从预乘 Alpha 转换回直通 Alpha(Straight Alpha)
|
| NEFORCE_NODISCARD constexpr integer32 | to_integer32 (const bool use_256_color=true) const noexcept |
| | 转换为整数表示
|
| NEFORCE_NODISCARD constexpr size_t | to_hash () const noexcept |
| | 计算哈希值
|
| constexpr void | swap (color &other) noexcept |
| | 交换两个颜色对象
|
| NEFORCE_CONSTEXPR20 bool | try_parse (const string_view str) noexcept |
| | 尝试从字符串解析对象
|
| NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 string | to_string () const |
| | 转换为字符串
|
| NEFORCE_NODISCARD constexpr bool | operator== (const color &rhs) const noexcept(noexcept(derived()==rhs)) |
| | 相等比较运算符
|
| NEFORCE_NODISCARD constexpr bool | operator!= (const color &rhs) const noexcept(noexcept(!(*this==rhs))) |
| | 不等比较运算符
|
| NEFORCE_NODISCARD constexpr bool | operator< (const color &rhs) const noexcept(noexcept(derived()< rhs)) |
| | 小于比较运算符
|
| NEFORCE_NODISCARD constexpr bool | operator> (const color &rhs) const noexcept(noexcept(rhs< derived())) |
| | 大于比较运算符
|
| NEFORCE_NODISCARD constexpr bool | operator<= (const color &rhs) const noexcept(noexcept(!(derived() > rhs))) |
| | 小于等于比较运算符
|
| NEFORCE_NODISCARD constexpr bool | operator>= (const color &rhs) const noexcept(noexcept(!(derived()< rhs))) |
| | 大于等于比较运算符
|
| NEFORCE_NODISCARD constexpr size_t | to_hash () const noexcept(noexcept(derived().to_hash())) |
| | 获取对象的哈希值
|
RGB颜色类
表示一个RGB颜色,包含红、绿、蓝和透明度四个分量。 每个分量的取值范围为0-255,透明度255表示不透明。 支持颜色混合、线性插值、ANSI终端颜色转换等操作。
在文件 color.hpp 第 164 行定义.