问题描述
我需要根据用户给定的数据/颜色/秒获取颜色的rgb值。目前,我有一张地图,其中有一些颜色名称作为键,而rgb值作为值。但是使用rgb值,可以有大约255 255 255种颜色。由于我的程序中没有所有这些颜色的映射。我正在寻找更好的解决方案,以允许用户输入至少一半的颜色。我已经阅读了一些CSS框架,以了解我的问题。但是我什么都不知道。
这是我当前正在使用的代码。
std::unordered_map<std::string,sim_vector_t> COLOR_OPTION{
{"red",{1,0}},{"green",{0,1,{"blue",1}},{"yellow",10}},{"white",{"orange",0.5,0}}};
sim_vector_t LightControlModule::ColorValueExtraction(const std::string& colorTransition)
{
auto ptr = COLOR_OPTION.find(colorTransition);
if (ptr != COLOR_OPTION.end())
{
return ptr->second;
}
else
{
ROS_WARN(" Given state transition is not defined");
return {0,0};
}
}
目前,上面的代码仅适用于有限数量的颜色,正如我上面解释的那样,我需要一种数据库类的东西才能拥有所有rgb有效颜色。
- 有没有办法使之成为可能?
- 有没有可以在我的代码中集成或使用的开源库?
- 是否可以将CSS动画框架集成到我的c ++代码中,以实现上述所需?
谢谢。