# Color 颜色结构体,支持 RGBA 浮点分量。 ## 头文件 ```cpp #include ``` ## 命名空间 `XCEngine::Math` ## 结构体定义 ```cpp struct Color { float r = 1.0f; float g = 1.0f; float b = 1.0f; float a = 1.0f; }; ``` 分量范围: 0.0f ~ 1.0f ## 静态工厂方法 | 方法 | 返回值 | 描述 | |------|--------|------| | `White()` | `Color` | (1, 1, 1, 1) | | `Black()` | `Color` | (0, 0, 0, 1) | | `Red()` | `Color` | (1, 0, 0, 1) | | `Green()` | `Color` | (0, 1, 0, 1) | | `Blue()` | `Color` | (0, 0, 1, 1) | | `Yellow()` | `Color` | (1, 1, 0, 1) | | `Cyan()` | `Color` | (0, 1, 1, 1) | | `Magenta()` | `Color` | (1, 0, 1, 1) | | `Clear()` | `Color` | (0, 0, 0, 0),透明黑 | ## 静态方法 | 方法 | 返回值 | 描述 | |------|--------|------| | `Lerp(a, b, t)` | `Color` | 颜色线性插值 | ## 实例方法 | 方法 | 返回值 | 描述 | |------|--------|------| | `ToRGBA()` | `uint32_t` | 转换为 32-bit RGBA (0xAABBGGRR) | | `ToVector3()` | `Vector3` | 转换为 RGB (丢弃 alpha) | | `ToVector4()` | `Vector4` | 转换为 RGBA | ## 运算符 | 运算符 | 描述 | |--------|------| | `operator+(Color, Color)` | 颜色相加 | | `operator-(Color, Color)` | 颜色相减 | | `operator*(Color, float)` | 颜色乘以标量 | | `operator/(Color, float)` | 颜色除以标量 | ## 使用示例 ```cpp Color red = Color::Red(); Color lerped = Color::Lerp(red, Color::Blue(), 0.5f); uint32_t rgba = lerped.ToRGBA(); Vector4 v4 = lerped.ToVector4(); ```