dl
dl_color.h 文件参考

颜色 更多...

#include "math/dl_random.h"
#include "math/dl_math.h"
#include "base/dl_range_every.h"
#include "dl_type.h"

浏览该文件的源代码.

命名空间

namespace  dl
 
namespace  dl::RGBA
 RGBA专用
 
namespace  dl::ABGR
 ABGR专用(请优先使用RGBA,除非你知道你在做什么)
 
namespace  dl::BGRA
 BGRA专用(请优先使用RGBA,除非你知道你在做什么)
 
namespace  dl::ARGB
 ARGB专用(请优先使用RGBA,除非你知道你在做什么)
 
namespace  dl::ColorDef
 颜色预定义
 

类型定义

using dl::Color3F = std::array<float, 3>
 

函数

Color dl::createColorRandom (float a=1.0f)
 创建随机颜色
 
constexpr Color dl::createColor (const Color &col, float a=1.0f)
 创建指定透明度颜色
 
constexpr Color dl::createColor (const Position3 &col, float a=1.0f)
 
constexpr Color dl::createColor (const Color3F &rgb, float a=1.0f)
 创建指定透明度颜色
 
constexpr Color dl::createColor (uint32_t dw_rgba)
 创建颜色
 
constexpr Color dl::createColor (uint8_t R, uint8_t G, uint8_t B, uint8_t A)
 创建颜色
 
constexpr uint32_t dl::AssembleColor (std::array< uint8_t, 4 > arr_col)
 通道数组转为 转为uint32_t颜色 例如 00, 11, 22, 33 -> 0x00112233
 
constexpr std::array< uint8_t, 4 > dl::GetColorChannel (uint32_t dw_col)
 获取颜色分量,从左到右
 
constexpr void dl::BlendColorAlpha (Color &bg, const Color &fg)
 alpha混合
 
void dl::colorSaturate (Color &col)
 限制颜色值 到[0, 1]
 
void dl::colorInverse (Color &col)
 反色,不包含透明通道
 
Color dl::colorInverse (const Color &col)
 
bool dl::isColorOpaque (const Color &col)
 不透明(a通道为1)
 
constexpr std::array< uint8_t, 4 > dl::getColorChannel (uint32_t dw_col)
 32位颜色获取所有通道,按书写顺序拆分 例如 0x00112233 -> 00, 11, 22, 33
 
Color dl::colorLerp (float cur)
 颜色插值
 
Color dl::createColorHSV (float h, float s, float v, float a=1.0f)
 从HSV颜色模型创建颜色
 
Color dl::operator""_c (unsigned long long x)
 
constexpr uint32_t dl::RGBA::Create (const Color &col)
 颜色转为uint32_t颜色
 
constexpr uint32_t dl::RGBA::Create (uint32_t r, uint32_t g, uint32_t b, uint32_t a)
 组合uint32_t颜色
 
constexpr uint32_t dl::RGBA::GetA (uint32_t dw_col)
 uint32_t颜色获取A通道
 
uint32_t dl::RGBA::ToABGR (uint32_t dw_col)
 转为ABGR颜色
 
constexpr uint32_t dl::ABGR::Create (const Color &col)
 颜色转为uint32_t颜色
 
constexpr Color dl::ABGR::CreateColor (uint32_t dw)
 创建颜色
 
constexpr uint8_t dl::ABGR::GetA (uint32_t dw_col)
 ABGR颜色获取A通道
 
constexpr uint32_t dl::BGRA::ToABGR (uint32_t dw_col)
 转为ABGR颜色
 
constexpr uint32_t dl::ARGB::ToABGR (uint32_t dw_col)
 转为ABGR颜色
 
Color dl::createColor (std::string_view str)
 创建颜色
 

变量

constexpr Color dl::ColorDef::NONE = { 0.0f, 0.0f, 0.0f, 0.0f }
 
constexpr Color dl::ColorDef::WHITE = { 1.0f, 1.0f, 1.0f, 1.0f }
 
constexpr Color dl::ColorDef::BLACK = { 0.0f, 0.0f, 0.0f, 1.0f }
 
constexpr Color dl::ColorDef::RED = { 1.0f, 0.0f, 0.0f, 1.0f }
 
constexpr Color dl::ColorDef::GREEN = { 0.0f, 1.0f, 0.0f, 1.0f }
 
constexpr Color dl::ColorDef::BLUE = { 0.0f, 0.0f, 1.0f, 1.0f }
 
constexpr Color dl::ColorDef::YELLOW = { 1.0f, 1.0f, 0.0f, 1.0f }
 
constexpr Color dl::ColorDef::PURPLE = { 1.0f, 0.0f, 1.0f, 1.0f }
 
constexpr Color dl::ColorDef::CYAN = { 0.0f, 1.0f, 1.0f, 1.0f }
 
constexpr Color dl::ColorDef::ORANGE = { 1.0f, 0.5f, 0.0f, 1.0f }
 
constexpr Color dl::ColorDef::GREEN_DARK = { 0.0f, 100.0f / 255.0f, 0.0f, 1.0f }
 
constexpr Color dl::ColorDef::DISABLE = { 0.298f, 0.298f, 0.298f, 1.0f }
 
constexpr Color dl::ColorDef::TEXT_BG = { 0.0f, 0.0f, 0.0f, 0.5f }
 文本背景,半透明黑色
 
constexpr Color dl::ColorDef::FACTOR_GRAY = { 0.299f, 0.587f, 0.114f, 1.0f }
 转灰色因子(并不能转成真的灰色,可使用 Sprite::Blend::GRAY)
 
constexpr Color dl::ColorDef::GRAY = { 0.5f, 0.5f, 0.5f, 1.0f }
 
constexpr Color dl::ColorDef::GRAY_LIGHT = { 0.75f, 0.75f, 0.75f, 1.0f }
 
constexpr Color dl::ColorDef::GRAY_DARK = { 0.25f, 0.25f, 0.25f, 1.0f }
 
constexpr Color dl::ColorDef::CLEAR_SCREEN = { 0.0f, 0.2f, 0.4f, 1.0f }
 清屏颜色
 
constexpr Color dl::ColorDef::AXIS_X = { 0.64f, 0.30f, 0.15f, 1.0f }
 
constexpr Color dl::ColorDef::AXIS_Y = { 0.33f, 0.60f, 0.06f, 1.0f }
 
constexpr Color dl::ColorDef::AXIS_Z = { 0.03f, 0.10f, 0.79f, 1.0f }
 

详细描述

颜色

版本
1.0
作者
lveyou
日期
21-08-12
注解
基于float类型,4个通道,顺序为 rgba,缩写col
从书写的角度,32位色RGBA表示0xRRGGBBAA。
大写A表示0-255,小写a表示0-1.0

在文件 dl_color.h 中定义.