如何在fmt库中使用RGB颜色代码?
关于fmt库使用RGB代码替代颜色名称的问题
首先明确:不能直接用fmt::color::#FFFF00这种写法,因为C++的标识符规则不允许#开头,编译器会直接报错。
不过fmt库完全支持用RGB值来指定自定义颜色,有两种常用方式:
方式1:用fmt::rgb()函数构造颜色
直接传入红、绿、蓝三个分量的0-255数值,比如黄色的RGB是(255,255,0),代码示例:
#include <fmt/color.h> int main() { std::string cpp = fmt::format(fg(fmt::rgb(255, 255, 0)), "C++20"); fmt::print("{}", cpp); return 0; }
方式2:直接用十六进制整数构造fmt::color
把RGB的十六进制值(比如#FFFF00去掉#后是0xFFFF00)作为整数传给fmt::color,代码示例:
#include <fmt/color.h> int main() { std::string cpp = fmt::format(fg(fmt::color(0xFFFF00)), "C++20"); fmt::print("{}", cpp); return 0; }
这两种方式都能实现你想要的自定义RGB颜色效果,比预定义颜色名称更灵活。
内容的提问来源于stack exchange,提问作者q-l-p
相关产品推荐
相关产品推荐

